- 博客(72)
- 收藏
- 关注
原创 pycharm远程连接python3.9.9解释器报错:TypeError: __init__() got an unexpected keyword argument ‘encoding‘
pycharm远程连接python3.9.9解释器报错:TypeError: __init__() got an unexpected keyword argument 'encoding'
2024-04-17 23:40:30 350
原创 使用阿里云试用Elasticsearch学习:sentence-transformers 包使用
环境:centos7,windows坑太多。
2024-04-17 04:24:23 632 2
原创 使用阿里云试用Elasticsearch学习:function_score 语法例句
【代码】使用阿里云试用Elasticsearch学习:function_score 语法例句。
2024-04-17 00:33:35 508
原创 使用阿里云试用Elasticsearch学习:Search Labs Tutorials 搭建一个flask搜索应用
文档:https://www.elastic.co/search-labs/tutorials/search-tutorial。
2024-04-14 20:10:48 324 1
原创 使用阿里云试用Elasticsearch学习:使用内置模型 lang_ident_model_1 创建管道并使用
Elasticsearch:使用内置模型 lang_ident_model_1 创建管道并使用
2024-04-14 03:12:39 398
原创 使用阿里云试用Elasticsearch学习:创建仪表板pivot、搜索discover和仪表板dashboard
Elasticsearch:创建仪表板pivot、搜索discover和仪表板dashboard
2024-04-14 00:33:37 420
原创 使用阿里云试用Elasticsearch学习:5. 地理位置
我们拿着纸质地图漫步城市的日子一去不返了。得益于智能手机,我们现在总是可以知道 自己所处的准确位置,也预料到网站会使用这些信息。我想知道从当前位置步行 5 分钟内可到的那些餐馆,对伦敦更大范围内的其他餐馆并不感兴趣。但地理位置功能仅仅是 Elasticsearch 的冰山一角,Elasticsearch 的妙处在于,它让你可以把地理位置、全文搜索、结构化搜索和分析结合到一起。
2024-04-13 18:31:39 1174 3
原创 使用阿里云试用Elasticsearch学习:4. 聚合——2
如果所有的数据都在一台机器上,那么生活会容易许多。 CS201 课上教的经典算法就足够应付这些问题。如果所有的数据都在一台机器上,那么也就不需要像 Elasticsearch 这样的分布式软件了。不过一旦我们开始分布式存储数据,就需要小心地选择算法。有些算法可以分布执行,到目前为止讨论过的所有聚合都是单次请求获得精确结果的。这些类型的算法通常被认为是 高度并行的 ,因为它们无须任何额外代价,就能在多台机器上并行执行。比如当计算 max 度量时,以下的算法就非常简单:这个算法可以随着机器数的线性增长而横向扩展
2024-04-10 23:57:00 1474
原创 使用阿里云试用Elasticsearch学习:4. 聚合——1
"aggs": {"terms": {},"aggs": {},"make" : {},"aggs" : {我们需要增加另外一个嵌套的 aggs 层级。然后包括 min 最小度量。以及 max 最大度量。},"make": {},},},},min 和 max 度量现在出现在每个汽车制造商( make )下面。有四辆红色车。红色车的平均售价是 $32500 美元。其中三辆红色车是 Honda 本田制造,一辆是 BMW 宝马制造。
2024-04-10 00:34:41 876
原创 使用阿里云试用Elasticsearch学习:3.7 处理人类语言——拼写错误
我们期望在类似时间和价格的结构化数据上执行一个查询来返回精确匹配的文档。然而,好的全文检索不应该是完全相同的限定逻辑。相反,我们可以扩大范围以包括 可能 的匹配,而根据相关性得分将更好的匹配推到结果集的顶部。事实上,只能完全匹配的全文搜索可能会困扰你的用户。
2024-04-09 00:08:01 928
原创 使用阿里云试用Elasticsearch学习:3.6 处理人类语言——同义词
词干提取是通过简化他们的词根形式来扩大搜索的范围,同义词 通过相关的观念和概念来扩大搜索范围。也许没有文档匹配查询 “英国女王“ ,但是包含 “英国君主” 的文档可能会被认为是很好的匹配。用户搜索 “美国” 并且期望找到包含 美利坚合众国 、 美国 、 美洲 、或者 美国各州 的文档。然而,他们不希望搜索到关于 国事 或者 政府机构 的结果。这个例子提供了宝贵的经验,它向我们阐述了,区分不同的概念对于人类是多么简单而对于纯粹的机器是多么棘手的事情。
2024-04-08 23:34:41 1231
原创 使用阿里云试用Elasticsearch学习:3.5 处理人类语言——停用词: 性能与精度
从早期的信息检索到如今, 我们已习惯于磁盘空间和内存被限制为很小一部分,所以 必须使你的索引尽可能小。每个字节都意味着巨大的性能提升。(查看 将单词还原为词根 ) 词干提取的重要性不仅是因为它让搜索的内容更广泛、让检索的能力更深入,还因为它是压缩索引空间的工具。一种最简单的减少索引大小的方法就是 索引更少的词。有些词要比其他词更重要,只索引那些更重要的词来可以大大减少索引的空间。那么哪些词条可以被过滤呢?在文档集合中相对出现较少的词,因为它们稀少,所以它们的权重值更高。
2024-04-08 01:09:53 1132
原创 使用阿里云试用Elasticsearch学习:3.4 处理人类语言——将单词还原为词根
在上面的例子中,我们阻止了 skies 被词干提取,但是也许我们希望他能被提干为 sky。The stemmer_override 语汇单元过滤器允许我们指定自定义的提取规则。"rules": [},规则来自 original=>stem。stemmer_override 过滤器必须放置在词干提取器之前。返回 the, mouse, came, down, from, the, sky, and, ran, over, my, foot。
2024-04-07 23:06:30 1306
原创 使用阿里云试用Elasticsearch学习:3.3 处理人类语言——归一化词元
icu_collation 分词过滤器提供很多选项,不止 language 、 country 、和 variant ,这些选项可以用于定制排序算法。忽略变音符号顺序大写排先或排后,或忽略大小写考虑或忽略标点符号和空白将数字按字符串或数字值排序自定义现有归类或定义自己的归类这些选项的详细信息超出了本书的范围,更多的信息可以查询和。
2024-04-06 23:41:23 1201
原创 使用阿里云试用Elasticsearch学习:3.2 处理人类语言——词汇识别
英语单词相对而言比较容易辨认:单词之间都是以空格或者(一些)标点隔开。然而即使在英语词汇中也会有一些争议: you’re 是一个单词还是两个?o’clock , cooperate , half-baked ,或者 eyewitness 这些呢?
2024-04-06 22:20:35 1310
原创 使用阿里云试用Elasticsearch学习:3.1 处理人类语言——开始处理各种语言
关于单词 no 和 not 有点特别,这俩词会反转跟在它们后面的词汇的含义。或许我们应该认为这两个词很重要,不应该把他们看成停用词。防止 organization 和 organizations 被缩减为词干指定一个自定义停用词列表切词为 world 、 health 、 organization 、 does 、 not 、 sell 、 organ我们在 将单词还原为词根 和 停用词: 性能与精度 中分别详细讨论了词干提取和停用词。
2024-04-06 20:24:31 996
原创 使用阿里云试用Elasticsearch学习:2.6 深入搜索——控制相关度
本章介绍了 Lucene 是如何基于 TF/IDF 生成评分的。理解评分过程是非常重要的,这样就可以根据具体的业务对评分结果进行调试、调节、减弱和定制。实践中,简单的查询组合就能提供很好的搜索结果,但是为了获得 具有成效 的搜索结果,就必须反复推敲修改前面介绍的这些调试方法。通常,经过对策略字段应用权重提升,或通过对查询语句结构的调整来强调某个句子的重要性这些方法,就足以获得良好的结果。
2024-04-06 17:38:09 1136
原创 使用阿里云试用Elasticsearch学习:2.5 深入搜索——部分匹配
敏锐的读者会注意,目前为止本书介绍的所有查询都是针对整个词的操作。为了能匹配,只能查找倒排索引中存在的词,最小的单元为单个词。但如果想匹配部分而不是全部的词该怎么办?部分匹配 允许用户指定查找词的一部分并找出所有包含这部分片段的词。fox当然, Elasticsearch 提供分析过程,倒排索引让我们不需要使用这种粗笨的技术。为了能应对同时匹配 “fox” 和 “foxes” 的情况,只需简单的将它们的词干作为索引形式,没有必要做部分匹配。
2024-04-06 15:01:15 965
原创 使用阿里云试用Elasticsearch学习:2.4 深入搜索——近似匹配
quick 、 brown 和 fox 需要全部出现在域中。brown 的位置应该比 quick 的位置大 1。fox 的位置应该比 quick 的位置大 2。如果以上任何一个选项不成立,则该文档不能认定为匹配。本质上来讲,match_phrase 查询是利用一种低级别的 span 查询族(query family)去做词语位置敏感的匹配。Span 查询是一种词项级别的查询,所以它们没有分词阶段;它们只对指定的词项进行精确搜索。
2024-04-06 03:04:31 1111
原创 使用阿里云试用Elasticsearch学习:2.3 深入搜索——多字段搜索
在 all-field 字段中,我们解释过 _all 字段的索引方式是将所有其他字段的值作为一个大字符串索引的。然而这么做并不十分灵活,为了灵活我们可以给人名添加一个自定义 _all 字段,再为地址添加另一个 _all 字段。},},first_name 和 last_name 字段中的值会被复制到 full_name 字段。有了这个映射,我们可以用 first_name 来查询名,用 last_name 来查询姓,或者直接使用 full_name 查询整个姓名。
2024-04-06 02:02:39 1154
原创 使用阿里云试用Elasticsearch学习:2.2 深入搜索——全文搜索
我们已经介绍了搜索结构化数据的简单应用示例,现在来探寻 全文搜索(full-text search) :怎样在全文字段中搜索到最相关的文档。它是评价查询与其结果间的相关程度,并根据这种相关程度对结果排名的一种能力,这种计算方式可以是 TF/IDF 方法(参见 相关性的介绍)、地理位置邻近、模糊相似,或其他的某些算法。它是将文本块转换为有区别的、规范化的 token 的一个过程,(参见 分析的介绍) 目的是为了(a)创建倒排索引以及(b)查询倒排索引。
2024-04-06 00:28:29 916 1
原创 使用阿里云试用Elasticsearch学习:2.1 深入搜索——结构化搜索
结构化搜索(Structured search) 是指有关探询那些具有内在结构数据的过程。比如日期、时间和数字都是结构化的:它们有精确的格式,我们可以对这些格式进行逻辑操作。比较常见的操作包括比较数字或时间的范围,或判定两个值的大小。文本也可以是结构化的。如彩色笔可以有离散的颜色集合: 红(red) 、 绿(green) 、 蓝(blue)。一个博客可能被标记了关键词 分布式(distributed) 和 搜索(search)。
2024-04-05 22:00:25 1234 1
原创 使用阿里云试用Elasticsearch学习:1.7 基础入门——索引管理
虽然Elasticsearch带有一些现成的分析器,然而在分析器上Elasticsearch真正的强大之处在于,你可以通过在一个适合你的特定数据的设置之中组合字符过滤器、分词器、词汇单元过滤器来创建自定义的分析器。字符过滤器字符过滤器 用来 整理 一个尚未被分词的字符串。例如,如果我们的文本是HTML格式的,它会包含像 或者 这样的HTML标签,这些标签是我们不想索引的。
2024-04-05 19:27:09 1279
原创 使用阿里云试用Elasticsearch学习:1.6 基础入门——排序与相关性
我们曾经讲过,默认情况下,返回结果是按相关性倒序排列的。但是什么是相关性?相关性如何计算?每个文档都有相关性评分,用一个正浮点数字段 _score 来表示。_score 的评分越高,相关性越高。查询语句会为每个文档生成一个 _score 字段。
2024-04-05 17:16:08 1252
原创 使用阿里云试用Elasticsearch学习:1.5 基础入门——请求体查询
简易 查询 —query-string search— 对于用命令行进行即席查询(ad-hoc)是非常有用的。然而,为了充分利用查询的强大功能,你应该使用 请求体searchAPI, 之所以称之为请求体查询(Full-Body Search),因为大部分参数是通过 Http 请求体而非查询字符串来传递的。
2024-04-05 15:19:18 1357
原创 使用阿里云试用Elasticsearch学习:1.4 基础入门——映射和分析
尽管在很多情况下基本域数据类型已经够用,但你经常需要为单独域自定义映射,特别是字符串域。全文字符串域和精确值字符串域的区别使用特定语言分析器优化域以适应部分匹配指定自定义数据格式还有更多域最重要的属性是 type。默认, string 类型域会被认为包含全文。就是说,它们的值在索引前,会通过一个分析器,针对于这个域的查询在搜索前也会经过一个分析器。string 域映射的两个最重要属性是 index 和 analyzer。
2024-04-05 02:16:12 1341
原创 使用阿里云试用Elasticsearch学习:1.3 基础入门——搜索-最基本的工具
现在,我们已经学会了如何使用 Elasticsearch 作为一个简单的 NoSQL 风格的分布式文档存储系统。我们可以将一个 JSON 文档扔到 Elasticsearch 里,然后根据 ID 检索。但 Elasticsearch 真正强大之处在于可以从无规律的数据中找出有意义的信息——从“大数据”到“大信息”。
2024-04-04 02:30:29 1127
原创 使用阿里云试用Elasticsearch学习:1.1 基础入门——入门实践
欣喜的是,这是一个关于 Elasticsearch 基础描述的教程,且仅仅是浅尝辄止,更多诸如 suggestions、geolocation、percolation、fuzzy 与 partial matching 等特性均被省略,以便保持教程的简洁。但它确实突显了开始构建高级搜索功能多么容易。不需要配置——只需要添加数据并开始搜索!很可能语法会让你在某些地方有所困惑,并且对各个方面如何微调也有一些问题。没关系!
2024-04-03 01:18:34 2218
原创 Kubernetes概念:存储:PersistentVolume和PersistentVolumeClaim使用
PersistentVolume 和 PersistentVolumeClaim
2024-03-29 00:33:15 1064
原创 Kubernetes示例yaml:3. service-statefulset.yaml
在 Kubernetes 集群中,存储类通常由集群管理员预先定义,并且根据不同的存储需求创建不同的存储类。例如,对于不同的应用程序可能需要不同类型的存储,比如高性能存储、低成本存储、备份存储等。总的来说,PersistentVolumeClaim (PVC) 是对持久化存储的一种请求,它需要依赖集群中已经存在的持久化存储资源(如存储卷)来提供实际的存储空间。总的来说,如果您的应用程序是有状态的,并且需要稳定的网络标识符、有序部署和扩展以及持久化存储,那么使用 StatefulSet 是更合适的选择。
2024-03-28 00:07:54 879
原创 Kubernetes示例yaml:2. service-NodePort-deployment.yaml
总结一下,第一个配置是一个内部的 ClusterIP 类型的服务,只能在集群内部使用,而第二个配置则是一个同时具有 ClusterIP 和 NodePort 特性的服务,可以在集群内外访问。(NodePort):此配置指定了服务的类型为 NodePort,这意味着除了具有 ClusterIP 类型的服务特性外,还会在每个节点上开放一个随机端口(NodePort),使得外部可以通过节点的 IP 地址和 NodePort 访问服务。,配置有一些区别,主要在于服务的类型和暴露方式。
2024-03-27 01:49:15 1133 1
原创 Kubernetes概念:服务、负载均衡和联网:2. Gateway API
Gateway API 通过使用可扩展的、角色导向的、 协议感知的配置机制来提供网络服务。它是一个附加组件, 包含可提供动态基础设施配置和高级流量路由的 API 类别。
2024-03-25 00:58:42 1373
原创 Kubernetes概念:服务、负载均衡和联网:1. 服务(Service)
Kubernetes 中的 Service 是一个对象 (与 Pod 或 ConfigMap 类似)。你可以使用 Kubernetes API 创建、查看或修改 Service 定义。通常你会使用 kubectl 这类工具来替你发起这些 API 调用。例如,假定有一组 Pod,每个 Pod 都在侦听 TCP 端口 9376,并且它们还被打上标签。你可以定义一个 Service 来发布该 TCP 侦听器。
2024-03-25 00:38:03 1377
原创 Kubernetes概念:工作负载:工作负载管理:2. ReplicaSet
ReplicaSet 的目的是维护一组在任何时候都处于运行状态的 Pod 副本的稳定集合。因此,它通常用来保证给定数量的、完全相同的 Pod 的可用性。
2024-03-24 18:02:24 222
转载 Kubernetes概念:工作负载:工作负载管理:1. Deployments
官方文档:https://kubernetes.io/zh-cn/docs/concepts/workloads/controllers/deployment/一个 Deployment 为 Pod 和 ReplicaSet 提供声明式的更新能力。你负责描述 Deployment 中的目标状态,而 Deployment 控制器(Controller) 以受控速率更改实际状态, 使其变为期望状态。
2024-03-24 17:41:41 924
原创 Elasticsearch 的 scroll API
对于大量数据,可以使用 Elasticsearch 的 scroll API 来分批次地读取数据,以避免一次性读取所有数据造成的内存负担。然后,使用滚动查询持续获取剩余的数据,直到所有数据都被读取完毕。在这个函数中,我们将滚动查询的逻辑封装在 scroll_query 函数中,可以通过传入 Elasticsearch 实例、索引名称、查询语句以及其他参数来执行滚动查询。你可以根据需要调整 scroll_size 和 scroll_time 参数来控制每次查询的文档数量和滚动查询的保持时间。
2024-03-22 21:09:56 589
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人