Query 若value为汉字,则大部分情况下,只能为一个汉字; 若value为英文,则是一个单词; 1、term query 分词精确查询,查询hotelName 分词后包含 hotel的term的文档 * QueryBuilders.termQuery("hotelName","hotel") * 2、terms Query 多term查询,查询hotelName 包含 hotel 或test 中的任何一个或多个的文档 * QueryBuilders.termsQuery("hotelName","hotel","test") QueryBuilders.rangeQuery("hotelNo") .gt("10143262306") //大于 10143262306 .lt("101432623062055348221") //小于 101432623062055348221 .includeLower(true) //包括下界 .includeUpper(false); //包括上界 3) exist query 查询字段不为null的文档 查询字段address 不为null的数据 QueryBuilders.existsQuery("address") 4) prefix query 匹配分词前缀 如果字段没分词,就匹配整个字段前缀 QueryBuilders.prefixQuery("hotelName","花园") 5) wildcard query 通配符查询,支持* 任意字符串;?任意一个字符 QueryBuilders.wildcardQuery("channelCode","ctr*") QueryBuilders.wildcardQuery("channelCode","ctr?") 6) regexp query 正则表达式匹配分词 7) fuzzy query 分词模糊查询,通过增加fuzziness 模糊属性, 来查询term 如下 能够匹配 hotelName 为 te el tel前或后加一个字母的term的 文档 fuzziness 的含义是检索的term 前后增加或减少n个单词的匹配查询 QueryBuilders.fuzzyQuery("hotelName", "tel").fuzziness(Fuzziness.ONE) 8) idx Query 根据ID查询 QueryBuilders.idsQuery().addIds("exchange_operate_monitor_db$32293","exchange_operate_monitor_db$32294")
Elasticsearch base Query
es term Query 查询
猜你喜欢
转载自sanniangmiao.iteye.com/blog/2339502
今日推荐
周排行