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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

基本查询(Query查询中文)

發布時間:2025/3/15 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基本查询(Query查询中文) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

查詢語句:?

GET /lib4/user/_search {"query": {"term": {"interests":"唱歌"}} }#terms:查詢某個字段里含有多個關鍵詞的文檔 GET /lib4/user/_search {"query":{"terms":{"interests": ["喝酒","唱歌"]}} }

?數據準備:

#2.7.1數據準備 PUT /lib4 { "settings":{"number_of_shards" : 3, "number_of_replicas" :0},"mappings":{"user":{"properties":{"name": {"type":"text","analyzer":"ik_max_word"}, "address": {"type":"text","analyzer": "ik_max_word"},"age": {"type" :"integer"},"interests": {"type":"text","analyzer": "ik_max_word"},"birthday": {"type":"date"}}}} }

?

#ik芾有兩個分詞器 #ik_max_word :會將文本做最細粒度的拆分;盡可能多的拆分出詞語 #ik_smart:會做最粗粒度的斥分;已被分出的詞語將不會再次被其它詞語占有 #2.7.2 term查詢和terms查詢 #term query會去倒排索引中尋找確切的term,它并不知道分詞器的存在。 #這種查詢適合keyword、numeric、date. #term:查詢某個字段里含有某個關鍵詞的文檔

添加5個文檔:?

PUT /lib4/user/1 {"name" : "趙六","address" : "黑龍江省 鐵嶺","age" : 50,"birthday" : "1970-12-12","interests": "喜歡喝酒,鍛煉,說相聲" }PUT /lib4/user/2 {"name" :"趙明","address" :"北京海淀區清河","age" : 20,"birthday" : "1998-10-12" ,"interests": "喜歡喝酒,鍛煉,唱歌" }PUT /lib4/user/3 {"name" : "lisi","address" :"北京海淀區清河","age" : 23,"birthday" : "1998-10-12","interests": "喜歡喝酒,鍛煉,唱歌" }PUT /lib4/user/4 {"name" :"王五","address" : " 北京海淀區清河","age" : 26,"birthday" : "1995-10-12","interests": "喜歡編程,聽音樂,旅游" }PUT /lib4/user/5 {"name" : "張三","address" :"北京海淀區清河","age" : 29,"birthday" : "1988-10-12","interests": "喜歡攝影,聽音樂,跳舞" }

term和terms查詢?

term是代表完全匹配,即不進行分詞器分析,文檔中必須包含整個搜索的詞匯

#term和terms查詢 #查詢字段中含有趙的 GET /lib4/user/_search {"query": {"term": {"name":"趙"}} }#指定多個關鍵字,只要包含其中一個就會被查詢出來 GET /lib4/user/_search {"query":{"terms":{"interests": ["喝酒","唱歌"]}} }#控制返回的數據條數 取前2條 GET /lib4/user/_search {"from":0,"size": 2, "query":{"terms":{"interests": ["喝酒","唱歌"]}} }#版本號的返回 GET /lib4/user/_search {"version":true,"query":{"terms":{"interests": [" 喝酒", "唱歌"]}} }

match查詢? match是知道分詞器存在的這個之前就講過

趙六會被分詞為兩個詞? 含有趙和六的都會被查詢出來

#match查詢 GET /lib4/user/_search {"query":{"match":{"name": "趙六"}} }

然后對于數字型的是不會被分詞的比如查詢年齡20的? 這個不會被分成2和0? 所以查詢結果會去從文檔匹配年齡為20的信息

GET /lib4/user/_search {"query":{"match":{"age": 20}} }GET /lib4/user/_search {"query": {"match_all": {}} }

?

#multi_match指定多個字段關鍵字匹配? ;match_phrase短語精確匹配 ;_source指定查詢結果返回的字段信息

#指定多個字段匹配 GET /lib4/user/_search {"query":{"multi_match": {"query": "唱歌","fields": ["interests", "name"]}} }#短語匹配 GET lib4/user/_search {"query":{"match_phrase" :{"interests": "鍛煉,說相聲"}} }#返回指定的字段 GET /lib4/user/_search {"_source": ["address" , "name"],"query": {"match": {"interests": "唱歌"}} }

?

?

?

?

總結

以上是生活随笔為你收集整理的基本查询(Query查询中文)的全部內容,希望文章能夠幫你解決所遇到的問題。

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