首页>>后端>>SpringBoot->elasticsearch应用场景(elasticsearchoperations)

elasticsearch应用场景(elasticsearchoperations)

时间:2023-12-14 本站 点击:0

ElasticSearch数据存储内容

1、shard是Elasticsearch数据存储的最小单位,index的存储容量为所有shard的存储容量之和。Elasticsearch集群的存储容量则为所有index存储容量之和。一个shard就对应了一个lucene的library。

2、可以将对es的操作记录下来,来确保当出现故障的时候,已经落地到磁盘的数据不会丢失,并在重启的时候可以从操作记录中将数据恢复过来。

3、在ElasticSearch中,倒排索引的各个段( segment )的数据存储在硬盘文件上,从整个倒排索引的段中读取字段数据之后,ElasticSearch引擎首先反转词条和文档之间的关系,创建文档和词条之间的关系,即创建顺排索引,然后把顺排索引存储在JVM的堆内存中。

4、Elasticsearch是一个分布式文档存储。Elasticsearch存储的是序列化为JSON文档的复杂数据结构,而不是以列行数据的形式存储信息。当集群中有多个Elasticsearch节点时,存储的文档分布在整个集群中,可以立即从任何节点访问。

5、查询速度。ES可以支持的查询类型多种多样,单一的term匹配,复杂的historm agg,甚至父子文档模式下bool查询之后继续做文本高亮,数据量越大查询时间越长。

Elasticsearch——search搜索入门

1、确保一次搜索请求可以在用户指定的timeout时长内完成,为一些时间敏感的搜索应用提供良好的支持。全局设置:配置文件中设置 search.default_search_timeout:100ms 。该设置不常用。

2、Elasticsearch使用的是 term frequency/inverse document frequency算法,简称为TF/IDF算法。

3、Elasticsearch天生具备搜索的强支持能力,与document、index一样,有一套专门的_search API来支持搜索功能,还有很多的搜索特性,不同的搜索类型,搜索功能较为复杂。

4、ElasticSearch的search一般有两个搜索类型 所有的搜索系统一般都是两阶段查询:第一阶段查询到匹配的docID,第二阶段再查询DocID对应的完整文档。

5、put 方法不带 id 发送请求行不行?可以看到使用 put 方法不带 id 请求会报错,也就是说 put 是不允许不带 id 请求的,而 post 是允许的。

6、泛查询在之前其实就有演示过,即像 q = xiaoming 这种不指定检索字段范围,会在所有字段中进行检索的查询即称为泛查询。反之,如果指定了字段,就能大大缩小范围。常见的指定字段的方式为 字段:检索条件字符 。

ElasticSearch常用查询方法总结

全文检索查询,是通过分析器,对查询条件进行分析,然后在全文本字段进行全文查询。全文搜索取决于mapping中设定的analyzer(分析器),这里使用的是ik分词器。所以在进行查询开发时候,需要先了解index的mapping,从而选择查询方式。

ElasticSearch的search一般有两个搜索类型 所有的搜索系统一般都是两阶段查询:第一阶段查询到匹配的docID,第二阶段再查询DocID对应的完整文档。

term 查询被用于精确值匹配,这些精确值可以是数字(number)、日期(date)、布尔值(bool)、未经过分析的字符串(keyword); term 查询对于输入的文本不分析,所以它将给定的值进行精确查询。

比如查询 tags:/trust*/ 。具体正则表达式语法参考: https:// 。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/SpringBoot/33150.html