Elasticsearch TermQuery
2017-04-16 22:51
267 查看
Term query的 QueryBuild 构建 官方文档地址:https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-terms-query.html
1、term query 分词精确查询,查询hotelName 分词后包含 hotel的term的文档
2、terms query 多term查询,查询hotelName 包含 hotel 或test 中的任何一个或多个的文档
3、range query
范围查询 查询hotelNo
4、 exist query 查询字段不为null的文档 查询字段address 不为null的数据
5、missing query
返回 没有字段或值为null或没有值的文档
6、prefix query 匹配分词前缀 如果字段没分词,就匹配整个字段前缀
7、wildcard query 通配符查询,支持* 任意字符串;?任意一个字符
8、regexp query 正则表达式匹配分词,正则表达式自己写吧 略
9、 fuzzy query 分词模糊查询,通过增加fuzziness 模糊属性,来查询term 如下 能够匹配 hotelName 为 te el tel前或后加一个字母的term的 文档 fuzziness 的含义是检索的term 前后增加或减少n个单词的匹配查询,
10、type Query 含义不是很理解,通过代码也还暂未理解 英文原文:Filters documents matching the provided document / mapping type.
11、idx Query 根据ID查询
1、term query 分词精确查询,查询hotelName 分词后包含 hotel的term的文档
QueryBuilders.termQuery("hotelName","hotel")
2、terms query 多term查询,查询hotelName 包含 hotel 或test 中的任何一个或多个的文档
QueryBuilders.termsQuery("hotelName","hotel","test")
3、range query
范围查询 查询hotelNo
QueryBuilders.rangeQuery("hotelNo") .gt("10143262306") //大于 10143262306 .lt("101432623062055348221") //小于 101432623062055348221 .includeLower(true) //包括下界 .includeUpper(false); //包括上界
4、 exist query 查询字段不为null的文档 查询字段address 不为null的数据
QueryBuilders.existsQuery("address")
5、missing query
返回 没有字段或值为null或没有值的文档
java client 该方法已经标记为过时,推荐用exist代替 如下 existsQuery BoolQueryBuilder#mustNot(QueryBuilder) QueryBuilders.missingQuery("accountGuid") 等同 QueryBuilders.boolQuery().mustNot(QueryBuilders.existsQuery("accountGuid"));
6、prefix query 匹配分词前缀 如果字段没分词,就匹配整个字段前缀
QueryBuilders.prefixQuery("hotelName","花园")
7、wildcard query 通配符查询,支持* 任意字符串;?任意一个字符
QueryBuilders.wildcardQuery("channelCode","ctr*") QueryBuilders.wildcardQuery("channelCode","ctr?")
8、regexp query 正则表达式匹配分词,正则表达式自己写吧 略
9、 fuzzy query 分词模糊查询,通过增加fuzziness 模糊属性,来查询term 如下 能够匹配 hotelName 为 te el tel前或后加一个字母的term的 文档 fuzziness 的含义是检索的term 前后增加或减少n个单词的匹配查询,
QueryBuilders.fuzzyQuery("hotelName", "tel").fuzziness(Fuzziness.ONE)
10、type Query 含义不是很理解,通过代码也还暂未理解 英文原文:Filters documents matching the provided document / mapping type.
QueryBuilders.typeQuery("channelCode")
11、idx Query 根据ID查询
QueryBuilders.idsQuery().addIds("exchange_operate_monitor_db$32293","exchange_operate_monitor);
相关文章推荐
- Elasticsearch TermQuery 详解
- 转:Elasticsearch TermQuery 详解
- 分布式搜索Elasticsearch——QueryBuilders.termQuery
- ElasticSearch——nested(mapping,query,aggregation)
- Elasticsearch query_string语法查询
- Elasticsearch DSL中Query与Filter的不同
- Elasticsearch Delete/UpdateByQuery案例分享
- Elasticsearch Span Query跨度查询
- 分布式搜索Elasticsearch——QueryBuilders.matchPhrasePrefixQuery
- 分布式搜索Elasticsearch——QueryBuilders.matchPhrasePrefixQuery
- elasticsearch term 查询之一
- elasticsearch term 查询二:Range Query
- 分布式搜索Elasticsearch——QueryBuilders.idsQuery
- Elasticsearch Compound Query 复合查询详解
- Elasticsearch——multi termvectors的用法
- Query DSL for elasticsearch Query
- Query DSL for elasticsearch Query
- elasticsearch query 语句
- ElasticSearch BoolQueryBuilder使用
- Elasticsearch Java Api(六)--DeleteByQuery