原英文版地址: https://www.elastic.co/guide/en/elasticsearch/reference/7.7/span-queries.html, 原文档版权归 www.elastic.co 所有
本地英文版地址: ../en/span-queries.html

跨度(span)查询

跨度(span)查询是低级的位置查询,它提供对指定词项的顺序和接近度的专家级控制。 这些通常用于实现对法律或专利文档的非常具体的查询。

只允许在外部 span 查询上设置增强(boost)。 复合 span 查询,如span_near,只使用内部 span 查询的匹配的 span 列表,以便找到它们自己的 span,然后使用这些 span 来产生评分。 从不在内部 span 查询上计算分数,这就是不允许使用增强(boost)的原因是:它们只影响分数的计算方式,而不影响 span。

span查询不能与非span查询混合使用( span_multi查询除外)。

这组查询有:

span_containing 查询
接受一个 span 查询的列表,但只返回与第二个 span 查询相匹配的 span。
field_masking_span 查询
允许跨不同字段的查询,如 span-nearspan-or
span_first 查询
接受另一个 span 查询,且该查询的匹配必须出现在字段的前 N 个位置。
span_multi 查询
包裹一个 termrangeprefixwildcardregexpfuzzy查询。
span_near 查询
接受多个 span 查询,这些查询的匹配必须、且可能以相同的顺序出现在彼此的指定距离内。
span_not 查询
包裹另一个 span 查询,并排除任何匹配该查询的文档。
span_or 查询
组合多个 span 查询 — 返回与任何指定查询匹配的文档。
span_term 查询
相当于 term查询,但与其他 span 查询一起使用。 other span queries.
span_within 查询
只要单个 span 查询的 span 在其他 span 查询列表返回的 span 内,就会返回该 span 查询的结果。