日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java returnAddres_JavaClient 查询ES-(重要)

發布時間:2024/9/27 java 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java returnAddres_JavaClient 查询ES-(重要) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

QueryBuilder queryBuilder = QueryBuilders.termQuery("字段","term值");

SearchResponse response = client.prepareSearch("索引名稱")

.setTypes("type名稱")

.setSearchType(SearchType.DFS_QUERY_THEN_FETCH)

.setQuery(queryBuilder)

.execute()

.actionGet();

//獲取命中數

System.out.println(response.getHits().totalHits());

//獲取響應字符串

System.out.println(response.toString());

//遍歷查詢結果輸出相關度分值和文檔內容

SearchHits searchHits = response.getHits();

for(SearchHit searchHit : searchHits){

System.out.println(searchHit.getScore());

System.out.println(searchHit.getSourceAsString());

}

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_db$32294")

總結

以上是生活随笔為你收集整理的java returnAddres_JavaClient 查询ES-(重要)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。