查询类型
|
queryType |
描述 |
后台代码样例 |
|
matchAllQuery |
全匹配 |
QueryBuilder qb = matchAllQuery(); |
|
matchQuery |
单个匹配 |
QueryBuilder qb = matchQuery( "name", "kimchy elasticsearch" ); |
|
multiMatchQuery |
多字段单值匹配 |
QueryBuilder qb = multiMatchQuery( "kimchy elasticsearch", "user","message" ); |
|
wildcardQuery |
模糊匹配 |
WildcardQueryBuilder queryBuilder1 = QueryBuilders.wildcardQuery("empname","*emp*"); |
复合查询类型
|
boolType |
描述 |
后台代码样例 |
|
AND |
与 |
BoolQueryBuilder subCodeQuery = QueryBuilders.boolQuery(); WildcardQueryBuilder queryBuilder1 = QueryBuilders.wildcardQuery("empname","*emp*"); WildcardQueryBuilder queryBuilder2 = QueryBuilders.wildcardQuery("gender","*male*"); subCodeQuery.must(queryBuilder1); subCodeQuery.must(queryBuilder2); |
|
OR |
或 |
类同(subCodeQuery.should) |
分页
通过from和size参数进行分页。From定义查询结果开始位置,size定义返回的hits(一条hit对应一条记录)最大数量。
|
RestFul样例 |
后台代码样例 |
|
{ "from" : 0,"size" : 10, "query" : { "term" : { "user": "kimchy" } } } |
SearchResponse response = client.prepareSearch("dept") .setTypes("employee") .setQuery(queryBuilder) .setFrom(0).setSize(2) .execute() .actionGet(); |
Elasticsearch查询与分页技术详解
本文深入探讨了Elasticsearch中的查询类型、复合查询、分页机制及其实现方式,包括全匹配、单个匹配、多字段匹配、模糊匹配等,并提供了RESTful API示例来展示如何在实际应用中运用这些技术。
1703

被折叠的 条评论
为什么被折叠?



