跨度查询

编辑

跨度查询是低级别的定位查询,可以对指定词项的顺序和邻近度进行专家级控制。它们通常用于对法律文件或专利实施非常具体的查询。

仅允许在外部跨度查询上设置提升(boost)。像 span_near 这样的复合跨度查询,仅使用内部跨度查询的匹配跨度列表来查找它们自己的跨度,然后使用这些跨度来产生分数。分数永远不会在内部跨度查询上计算,这就是为什么不允许提升(boost)的原因:它们只会影响分数的计算方式,而不会影响跨度。

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

此组中的查询有:

span_containing 查询
接受跨度查询列表,但仅返回也与第二个跨度查询匹配的那些跨度。
span_field_masking 查询
允许跨不同字段的诸如 span-nearspan-or 之类的查询。
span_first 查询
接受另一个跨度查询,其匹配项必须出现在字段的前 N 个位置内。
span_multi 查询
包装 termrangeprefixwildcardregexpfuzzy 查询。
span_near 查询
接受多个跨度查询,它们的匹配项必须在彼此指定的距离内,并且可能以相同的顺序排列。
span_not 查询
包装另一个跨度查询,并排除任何与该查询匹配的文档。
span_or 查询
组合多个跨度查询 - 返回与任何指定查询匹配的文档。
span_term 查询
term 查询 等效,但用于其他跨度查询。
span_within 查询
只要单个跨度查询的结果的跨度落在其他跨度查询列表返回的跨度内,就会返回该结果。