王旁青头戋五一
2021年05月03日入驻
合计 2
个作品
累计 31.36
万字
-
分析控制
查询只能查找在倒排索引中出现的词,所以确保在文档索引的时候以及字符串查询的时候使用同一个分析器是很重要的,为了查询的词能够在倒排索引中匹配到。
尽管我们说文档中每个字段的分析器是已经定好的。但是字段可以有不同的分析器,通过给那个字段配置一个指定的分析器或者直接使用类型,索引,或节点上的默认分析器。在索引的时候,一个字段的值会被配置的或者默认的分析器分析。 -
布尔匹配
到现在为止,你可能已经意识到在一个布尔查询中多字段match查询仅仅包裹了已经生成的term查询。通过默认的or操作符,每个term查询都会像一个should子句一样被添加,只要有一个子句匹配就可以了。 -
匹配查询
不管你搜索什么内容,match查询是你首先需要接触的查询。它是一个高级查询,意味着match查询知道如何更好的处理全文检索和准确值检索。
这也就是说,match查询的一个主要用途是进行全文搜索。让我们通过一个小例子来看一下全文搜索是如何工作的。 -
处理 Null 值
回到我们早期的示例,在文档中有一个多值的字段 tags,一个文档可能包含一个或多个标签,或根本没有标签。如果一个字段没有值,它是怎么储存在倒排索引中的? -
查找准确值
对于准确值,你需要使用过滤器。过滤器的重要性在于它们非常的快。它们不计算相关性(避过所有计分阶段)而且很容易被缓存。我们今后再来讨论过滤器的性能优势【过滤器缓存】,现在,请先记住尽可能多的使用过滤器。