- Dependency
- Client
- Client - Transport Client
- Client - XPack Transport Client
- Document APIs
- Document APIs - Index API
- Document APIs - Get API
- Document APIs - Delete API
- Document APIs - Delete By Query API
- Document APIs - Update API
- Document APIs - Multi Get API
- Document APIs - Bulk API
- Document APIs - Using Bulk Processor
- Search API
- Search API - Using scrolls in Java
- Search API - MultiSearch API
- Search API - Using Aggregations
- Search API - Terminate After
- Search API - Search Template
- Aggregations
- Aggregations - Structuring aggregations
- Aggregations - Metrics aggregations
- Aggregations - Bucket aggregations
- Query DSL
- Query DSL - Match All Query
- Query DSL - Full text queries
- Query DSL - Term level queries
- Query DSL - Compound queries
- Query DSL - Joining queries
- Query DSL - Geo queries
- Query DSL - Specialized queries
- Query DSL - Span queries
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
Query DSL - Span queries
Span queries
- span_term查询
等同于 term query ,但与其他Span查询一起使用。
QueryBuilder qb = spanTermQuery(
"user", //field
"kimchy" //value
);
- span_multi查询
包含term, range, prefix, wildcard, regexp 或者 fuzzy 查询。
QueryBuilder qb = spanMultiTermQueryBuilder(
prefixQuery("user", "ki") //可以是MultiTermQueryBuilder 的 扩展 比如:FuzzyQueryBuilder, PrefixQueryBuilder, RangeQueryBuilder, RegexpQueryBuilder , WildcardQueryBuilder。
);
- span_first查询
接受另一个Span查询,其匹配必须出现在字段的前N个位置。
QueryBuilder qb = spanFirstQuery(
spanTermQuery("user", "kimchy"), //query
3 //max end position
);
- span_near查询
接受多个Span查询,其匹配必须在彼此的指定距离内,并且可能顺序相同。
QueryBuilder qb = spanNearQuery(
spanTermQuery("field","value1"), //span term queries
12) //slop factor: the maximum number of intervening unmatched positions
.addClause(spanTermQuery("field","value2")) //span term queries
.addClause(spanTermQuery("field","value3")) //span term queries
.inOrder(false); //whether matches are required to be in-order
- span_or查询
组合多个Span查询 - 返回与任何指定查询匹配的文档。
QueryBuilder qb = spanOrQuery(
spanTermQuery("field","value1"))
.addClause(spanTermQuery("field","value2"))
.addClause(spanTermQuery("field","value3")); //span term queries
- span_not查询
包装另一个Span查询,并排除与该查询匹配的所有文档。
QueryBuilder qb = spanNotQuery(
spanTermQuery("field","value1"), //span query whose matches are filtered
spanTermQuery("field","value2")); //span query whose matches must not overlap those returned
- span_containing 查询
接受Span查询的列表,但仅返回与第二个Spans查询匹配的Span。
QueryBuilder qb = spanContainingQuery(
spanNearQuery(spanTermQuery("field1","bar"), 5) //big part
.addClause(spanTermQuery("field1","baz"))
.inOrder(true),
spanTermQuery("field1","foo")); //little part
- span_within查询
只要其 span 位于由其他Span查询列表返回的范围内,就会返回单个Span查询的结果,
QueryBuilder qb = spanWithinQuery(
spanNearQuery(spanTermQuery("field1", "bar"), 5) //big part
.addClause(spanTermQuery("field1", "baz"))
.inOrder(true),
spanTermQuery("field1", "foo")); //little part
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
![扫码二维码加入Web技术交流群](/public/img/jiaqun_03.jpg)
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论