跨度查询编辑
跨度��询是低级位置查询提供专家控制的秩序和接近指定的条款。这些通常是用于实现特定查询法律文件或专利。
跨度查询不能混合(除了non-span查询 span_multi
查询)。
这组查询:
-
的等效
term
查询 但与其他跨度查询使用。 -
包装
term
,range
,prefix
,wildcard
,regexp
,或fuzzy
查询。 - 接受另一个跨度查询的匹配必须出现在第N的位置。
- 接受多个跨度查询的匹配必须在指定的距离,并可能在相同的顺序。
- 结合多个跨度查询,返回文档的匹配任何指定的查询。
- 包装另一个跨度查询,排除了任何文档匹配查询。
- 接受一个跨度查询列表,但是只返回那些跨越也匹配第二个跨度查询。
- 单孔查询返回的结果只要是它的跨度中返回的跨越其他跨度查询的列表。
span_term
查询
span_multi
查询
span_first
查询
span_near
查询
span_or
查询
span_not
查询
span_containing
查询
span_within
查询
QueryBuilder qb = spanTermQuery(
"user", //1
"kimchy" //2
);
QueryBuilder qb = spanMultiTermQueryBuilder(
prefixQuery("user", "ki") //1
);
QueryBuilder qb = spanFirstQuery(
spanTermQuery("user", "kimchy"), //1
3 //2
);
QueryBuilder qb = spanNearQuery()
.clause(spanTermQuery("field","value1")) //1
.clause(spanTermQuery("field","value2")) //2
.clause(spanTermQuery("field","value3")) //3
.slop(12) //4
.inOrder(false) //5
.collectPayloads(false); //6
QueryBuilder qb = spanOrQuery()
.clause(spanTermQuery("field","value1")) //1
.clause(spanTermQuery("field","value2")) //2
.clause(spanTermQuery("field","value3")); //3
QueryBuilder qb = spanNotQuery()
.include(spanTermQuery("field","value1")) //1
.exclude(spanTermQuery("field","value2")); //2
QueryBuilder qb = spanContainingQuery()
.little(spanTermQuery("field1","foo")) //1
.big(spanNearQuery() //2
.clause(spanTermQuery("field1","bar"))
.clause(spanTermQuery("field1","baz"))
.slop(5)
.inOrder(true)
);
QueryBuilder qb = spanWithinQuery()
.little(spanTermQuery("field1", "foo")) //1
.big(spanNearQuery() //2
.clause(spanTermQuery("field1", "bar"))
.clause(spanTermQuery("field1", "baz"))
.slop(5)
.inOrder(true)
);
| |
|