elasticsearch
文章平均质量分 84
使用版本elasticsearch7.13.2
逆天至尊
这个作者很懒,什么都没留下…
展开
-
Elasticsearch之拼音搜索(十五)
拼音搜索在中文搜索环境中是经常使用的一种功能,用户只需要输入关键词的拼音全拼或者拼音首字母,搜索引擎就可以搜索出相关结果。在国内,中文输入法基本上都是基于汉语拼音的,这种在符合用户输入习惯的条件下缩短用户输入时间的功能是非常受欢迎的。在ES中可以使用拼音分析器插件进行拼音搜索,插件的项目地址为https://github.com/medcl/elasticsearch-analysis-pinyin,该插件对较新的ES版本并不支持,需要用户自行进行编译安装。...原创 2022-08-30 21:00:00 · 1093 阅读 · 0 评论 -
ElasticSearch分析器解析(十四)
当系统内置的分析器不满足需求时,用户可以使用自定义分析器。在有些场景中,某个文本字段不是自然语言而是在某种规则下的编码。例如,在旅馆索引中有个sup_env字段,其值为“APP,H5,WX”,表示当前旅馆可以在App、Web端和微信小程序端上显示。假设当前搜索用户使用的是H5或App客户端,则需要过滤掉不支持在这两个客户端上显示的旅馆。首先,需要在索引创建的DSL中定义分析器comma_analyzer,该分析器中只有一个分词组件,该分词组件使用逗号进行词语切分;原创 2022-08-23 21:30:00 · 1280 阅读 · 0 评论 -
Elasticsearch之文本搜索(十三)
ES作为一款搜索引擎框架,文本搜索是其核心功能。ES在文本索引的建立和搜索过程中依赖两大组件,即Lucene和分析器。其中,Lucene负责进行倒排索引的物理构建,分析器负责在建立倒排索引前和搜索前对文本进行分词和语法处理。原创 2022-08-19 21:30:00 · 1305 阅读 · 0 评论 -
Elasticsearch之排序解析(十二)
在默认情况下,ES对搜索结果是按照相关性降序排序的。有时需要按照某些字段的值进行升序或者降序排序。ES提供了sort子句可以对数据进行排序。使用sort子句一般是按照字段信息进行排序,不受相关性影响,而且打分步骤需要耗费一定的硬件资源和时间,因此默认情况下,不对文档进行打分。使用sort排序分为两种类别,一种是按照字段值的大小进行排序,另一种是按照给定地理坐标的距离远近进行排序。...原创 2022-08-10 21:30:00 · 4256 阅读 · 1 评论 -
Elasticsearch搜索匹配功能解析(十一)
针对不同的数据类型,ES提供了很多搜索匹配功能:在关系型数据库中,当需要查询所有文档的数据时,对应的SQL语句为select * form table_name。在ES中使用ES的match_all查询可以完成类似的功能。使用match_all查询文档时,ES不对文档进行打分计算,默认情况下给每个文档赋予1.0的得分。用户可以通过boost参数设定该分值。以下示例使用match_all查询所有文档,并设定所有文档的分值为2.0:结果返回:通过返回数据集可以看到,ES返回了所有的文档,并且所有文档原创 2022-08-09 21:00:00 · 3091 阅读 · 0 评论 -
Elasticsearch搜索辅助功能解析(十)
ES提供的各种搜索辅助功能。例如,为优化搜索性能,需要指定搜索结果返回一部分字段内容。为了更好地呈现结果,需要用到结果计数和分页功能;当遇到性能瓶颈时,需要剖析搜索各个环节的耗时;面对不符合预期的搜索结果时,需要分析各个文档的评分细节。...原创 2022-08-06 09:30:00 · 2550 阅读 · 0 评论 -
Elasticsearch之文档操作(九)
在Java高级REST客户端中,执行根据条件更新文档,需要创建UpdateByQueryRequest对象并设置对应的索引名称,类似于DSL中的query子句,通过调用UpdateByQuery Request.setQuery()方法设置查询逻辑,script子句通过调用UpdateByQueryRequest.setScript()方法设置更新逻辑,然后执行客户端的updateByQuery()方法并把UpdateByQueryRequest对象传入即可。下面的代码演示了向索引中添加单条文档的方法。..原创 2022-08-05 09:30:00 · 1505 阅读 · 0 评论 -
Elasticsearch映射操作(八)
在使用数据之前,需要构建数据的组织结构。这种组织结构在关系型数据库中叫作表结构,在ES中叫作映射。作为无模式搜索引擎,ES可以在数据写入时猜测数据类型,从而自动创建映射。但有时ES创建的映射中的数据类型和目标类型可能不一致。当需要严格控制数据类型时,还是需要用户手动创建映射。...原创 2022-08-04 09:30:00 · 4544 阅读 · 1 评论 -
Elasticsearch索引操作(七)
索引的相关操作,涉及创建、删除、关闭和打开索引,以及索引别名的操作。其中,索引别名的操作在生产环境中使用比较广泛,可以和关闭或删除索引配合使用。在生产环境中使用索引时,一定要慎重操作,因为稍有不慎就会导致数据的丢失或异常。......原创 2022-08-03 09:30:00 · 1447 阅读 · 0 评论 -
Spring Data Elasticsearch介绍(七)
SpringDataElasticsearch是SpringBoot套件中的一个组件,在SpringBoot中连接ES可以使用SpringDataElasticsearch。SpringDataElasticsearch是SpringData项目的一部分,该项目致力于提供一致的基于Spring的数据查询和存储编程模型。SpringDataElasticsearch封装了创建客户端的逻辑并与服务端保持长连接,让我们不必关注于网络连接问题。...原创 2022-08-03 09:30:00 · 1269 阅读 · 0 评论 -
Elasticsearch之java客户端(六)
Java客户端分为低级客户端和高级客户端两种。低级客户端兼容所有版本的ES,但其需要提供JSON字符串,因此这种开发方式比较低效。高级客户端是基于低级客户端开发出来的,屏蔽了底层技术,使用户可以更专注于搜索业务,这是官方推荐的开发方式。...原创 2022-08-02 09:30:00 · 1676 阅读 · 0 评论 -
Kibana介绍(五)
Kibana是ELK家族中一个开源、免费的可视化数据搜索和分析平台。借助Kibana,用户不需要编码就可以将ES中分析的结果进行可视化呈现,如以常用的饼图、柱状图和时序图等方式呈现。除了可视化数据分析功能,Kibana还提供了DevTools,它是一款可以与ES进行交互式请求的工具,可以借助它进行DSL调试。...原创 2022-08-01 22:00:00 · 1089 阅读 · 0 评论 -
ElasticSearch实操入门(四)
返回的信息中主要描述了当前集群中各个节点的IP地址及CPU的内存负载情况,另外还包括节点角色信息,其中,es1目前是集群中的master节点。在这种情况下,不同的集群节点需要将cluster_name的值定义为不同的名称。集群模式可以增强ES集群的服务性能或提升其高可用性,假设这3台计算机的IP地址分别为192.168.0.1、192.168.0.2和192.168.0.3,名称分别为es1、es2和es3,需要在这3台计算机上创建除root外的用户进行集群的搭建。query子句可以按照需求填充查询项。..原创 2022-07-30 09:30:00 · 476 阅读 · 0 评论 -
Elasticsearch应用场景(三)
可以把推荐模型算法计算的商品和用户向量存储到ES索引中,当实时请求时,加载用户向量并使用ES的ScriptScore进行查询,使每个文档最终的排序分值等于当前用户向量与当前文档向量的相似度。查询时客户端可以把查询请求分发到ES中,ES从索引中查询并返回符合条件的记录主键,客户端再根据返回的记录主键请求RDBMS得到实时数据。在有些场景中,部分数据是强事务性的,或者说这些数据需要关联多张表才可以获取到,这种数据不适合在ES中作为最终数据进行呈现,最好将它们存储在RDBMS中。...原创 2022-07-29 09:30:00 · 2896 阅读 · 0 评论 -
Elasticsearch架构原理(二)
假设将数据映射到分片1上,因为分片1的主分片在节点2上,因此节点1把请求转发到节点2上。节点2接收客户端的数据并进行存储,然后把请求转发到副分片1所在的节点1和节点3上,当所有副分片所在的节点全部完成存储后,协调节点也就是节点1向客户端返回成功标志。当ES协调节点接收到来自客户端的获取某个索引的某文档的请求时,协调节点会找到该文档所在的所有分片,然后根据轮询算法在主/副分片中选择一个分片并将请求转发给该分片所在的节点,该节点会将目标数据发送给协调节点,协调节点再将数据返回给客户端。.........原创 2022-07-28 07:50:11 · 3391 阅读 · 1 评论 -
ElasticSearch入门(一)
很多应用都有搜索功能。Lucene作为“老牌”的搜索技术支持库,它提供的很多功能都能用于处理文本类型的数据。但是使用Lucene架设搜索引擎需要使用者熟悉搜索引擎的很多知识,对使用者的要求非常高,并且Lucene仅仅提供了基础的搜索引擎支持,而对搜索的分布式、容错性和实时性并不支持。elasticSearch不仅是一个搜索引擎框架,而且其官方还提供了ELK“全家桶”,为构建搜索引擎提供了很好的解决方案。其中,E代表Elasticsearch,主要提供数据搜索和分析功能;...原创 2022-07-27 22:00:00 · 490 阅读 · 0 评论