原英文版地址: https://www.elastic.co/guide/en/elasticsearch/reference/7.7/span-queries.html, 原文档版权归 www.elastic.co 所有
本地英文版地址: ../en/span-queries.html
本地英文版地址: ../en/span-queries.html
重要: 此版本不会发布额外的bug修复或文档更新。最新信息请参考 当前版本文档。
跨度(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-near
或span-or
。 -
span_first
查询 - 接受另一个 span 查询,且该查询的匹配必须出现在字段的前 N 个位置。
-
span_multi
查询 -
包裹一个
term
、range
、prefix
、wildcard
、regexp
或fuzzy
查询。 -
span_near
查询 - 接受多个 span 查询,这些查询的匹配必须、且可能以相同的顺序出现在彼此的指定距离内。
-
span_not
查询 - 包裹另一个 span 查询,并排除任何匹配该查询的文档。
-
span_or
查询 - 组合多个 span 查询 — 返回与任何指定查询匹配的文档。
-
span_term
查询 -
相当于
term
查询,但与其他 span 查询一起使用。 other span queries. -
span_within
查询 - 只要单个 span 查询的 span 在其他 span 查询列表返回的 span 内,就会返回该 span 查询的结果。