ElasticSearch全文检索

本文介绍了ElasticSearch的全文检索,包括基于短语和全文的查询方式,匹配查询如多词匹配和组合查询的使用,以及如何控制分析和调整相关度。全文检索依赖相关度计算和分析过程,match查询作为高级查询能处理全文和准确值检索,通过调整operator、minimum_should_match参数等控制查询精度。同时,了解如何选择和控制分析器对于确保查询和索引的一致性至关重要。
摘要由CSDN通过智能技术生成

全文检索最重要的两个方面:
- 相关度:根据文档与查询的相关程度对结果集进行排序的能力。相关度可以使用TF/IDF、地理位置详尽程度、模糊相似度或者其它算法计算。
- 分析:将一段文本转换为一组唯一的、标准化了的标记token,用来创建倒排索引、查询倒排索引。
一旦提到相关度和分析,指的都是查询而非过滤!!!


基于短语VS基于全文

所有的查询都会进行相关度计算,但不是所有查询都有分析阶段。
像bool或者function_score这样的查询并不在文本字段执行。
文本查询有两大类:

基于短语的查询Term-based

像term或者fuzzy一类的查询是低级查询,它们没有分析阶段。
这些查询在单一的短语上执行,例如对单词“xxx”的查询会在倒排索引里面精确查找“xxx”这个词,并对每个包含这个单词的文档计算TF/IDF相关度“_score”。也就是说,term查询精确查找特定短语,不匹配短语的其他变形。

全文检索Full-text

match和query_string这样的查询是高级查询,它们对字段进行分析的方式如下:
- 如果检索一个date或者integer字段,则把查询语句作为日期或者整数格式数据;
- 如果检索一个准确值的字符串字段,则把整个查询语句作为一个短语;
- 如果检索一个全文本字段,查询会先用适当的解析器解析查询语句,产生需要查询的短语列表,然后对列表中的每个短语执行低级查询,合并查询结果,得

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值