跨度查询
编辑跨度查询
编辑跨度查询是低级别的定位查询,可以对指定词项的顺序和邻近度进行专家级控制。它们通常用于对法律文件或专利实施非常具体的查询。
仅允许在外部跨度查询上设置提升(boost)。像 span_near 这样的复合跨度查询,仅使用内部跨度查询的匹配跨度列表来查找它们自己的跨度,然后使用这些跨度来产生分数。分数永远不会在内部跨度查询上计算,这就是为什么不允许提升(boost)的原因:它们只会影响分数的计算方式,而不会影响跨度。
跨度查询不能与非跨度查询混合使用(span_multi
查询除外)。
此组中的查询有:
-
span_containing
查询 - 接受跨度查询列表,但仅返回也与第二个跨度查询匹配的那些跨度。
-
span_field_masking
查询 - 允许跨不同字段的诸如
span-near
或span-or
之类的查询。 -
span_first
查询 - 接受另一个跨度查询,其匹配项必须出现在字段的前 N 个位置内。
-
span_multi
查询 - 包装
term
、range
、prefix
、wildcard
、regexp
或fuzzy
查询。 -
span_near
查询 - 接受多个跨度查询,它们的匹配项必须在彼此指定的距离内,并且可能以相同的顺序排列。
-
span_not
查询 - 包装另一个跨度查询,并排除任何与该查询匹配的文档。
-
span_or
查询 - 组合多个跨度查询 - 返回与任何指定查询匹配的文档。
-
span_term
查询 - 与
term
查询 等效,但用于其他跨度查询。 -
span_within
查询 - 只要单个跨度查询的结果的跨度落在其他跨度查询列表返回的跨度内,就会返回该结果。