Elasticsearch的javaAPI之query dsl-queries
elasticsearch Query DSL Queries
2023-09-11 14:20:44 时间
Elasticsearch的javaAPI之query dsl-queries
和rest query dsl一样,elasticsearch提供了一个完整的Java query dsl。
查询建造者(factory)是
QueryBuilders
。 一旦准备好您的查询,您能够使用query api。
怎样使用QueryBuilders?只就是增加以下的包:
import org.elasticsearch.index.query.QueryBuilders.*;
请注意,您能够轻松地打印(又名调试)
查询生成的JSON,用 toString()
方法
QueryBuilder
能够用于接受查询,的不论什么API(如count和search)
。
以下例举几种经常使用查询API:
Match Query
QueryBuilder qb = QueryBuilders.matchQuery("name", "kimchy elasticsearch");
QueryBuilder qb = QueryBuilders.multiMatchQuery( "kimchy elasticsearch", // Text you are looking for "user", "message" // Fields you query on );
QueryBuilder qb = QueryBuilders .boolQuery() .must(termQuery("content", "test1")) .must(termQuery("content", "test4")) .mustNot(termQuery("content", "test2")) .should(termQuery("content", "test3"));
Boosting Query
QueryBuilders.boostingQuery() .positive(QueryBuilders.termQuery("name","kimchy")) .negative(QueryBuilders.termQuery("name","dadoonet")) .negativeBoost(0.2f);
Range Query
QueryBuilder qb = QueryBuilders .rangeQuery("price") .from(5) .to(10) .includeLower(true) .includeUpper(false);
QueryString Query
QueryBuilder qb = QueryBuilders.queryString("+kimchy -elasticsearch");
Term Query
QueryBuilder qb = QueryBuilders.termQuery("name", "kimchy");
More Like This (Field) Query (mlt and mlt_field)
// mlt Query QueryBuilders.moreLikeThisQuery("name.first", "name.last") // Fields .likeText("text like this one") // Text .minTermFreq(1) // Ignore Threshold .maxQueryTerms(12); // Max num of Terms // in generated queries // mlt_field Query QueryBuilders.moreLikeThisFieldQuery("name.first") // Only on single field .likeText("text like this one") .minTermFreq(1) .maxQueryTerms(12);
相关文章
- 通过fluentd配置输出到elasticsearch,启动服务报错 Using Elasticsearch client 8.4.0 is not compatible for your Elasticsearch server
- ElasticSearch删除索引中的数据(delete_by_query)
- Elasticsearch 总结与测验
- Elasticsearch 集群分布式模型与选主与脑裂问题
- Elasticsearch 综合排序 Function Score Query 优化算分
- Elasticsearch: filter => query
- ElasticSearch第一讲 Docker-compose 单机部署Elasticsearch kibana esHead与配置认证证书设置密码
- 【ElasticSearch系列-01】初识以及安装elasticSearch
- Elasticsearch的分词
- 《深入理解Elasticsearch(原书第2版)》——2.2 查询改写
- ElasticSearch + Canal 开发千万级的实时搜索系统
- elasticsearch插件sql安装
- 给Elasticsearch 5.2.2 设置用户权限 how to setting security for elasticsearch on windows