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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

elasticsearch基本查询三(英文分词)match查询

發(fā)布時間:2025/3/15 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 elasticsearch基本查询三(英文分词)match查询 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
#match查詢 #match query知道分詞器的存在,會對filed進行分詞操作, 然后再查詢 GET /ib3/user/_search { "query":{ "match":{ "name": "zhaoliu" }} } GET /lib3/user/_search { "query":{ "match":{ "age": 20}} } #match_all:查詢所有文檔 GET /ib3/user/_search { "query":{"match_all":{}} } #multi_match:可以指定多個字段 GET /ib3/user/_search { "query":{ "multi_match": { "query": "Ilyou", "fields": ["interests" ,"name"]}} } #match_ phrase:短語匹配查詢 #ElasticSearch引擎首先分析(analyze) 查詢字符串, #從分析后的文本中構建短語查詢, #這意味著必須匹配短語中的所有分詞, #并且保證各個分詞的相對位置不變: GET lib3/user/_search { "query":{"match_phrase":{"interests": "duanlian, shuoxiangsheng" }} }

term查詢試試,沒有找到,因為term是不知道分詞的,會對? ? "name": "zhaoliu zhaoming"? 當成一個關鍵字,索引這個關鍵字在倒排索引是沒有的,所以沒有找到

?

?terms查詢同樣不知道分詞(在倒排索引中? ?"name": "zhaoliu zhaoming"? ?會被看成一個關鍵字,在倒排索引是不存在這個索引的)而且terms是數(shù)組查詢,不支持單個字符串查詢的

#match query知道分詞器的存在,會對filed進行分詞操作, 然后再查詢? ? #match指定單個字段條件查詢

GET /lib3/user/_search {"query":{"match":{"name": "zhaoliu zhaoming"}} } {"took" : 38,"timed_out" : false,"_shards" : {"total" : 5,"successful" : 5,"skipped" : 0,"failed" : 0},"hits" : {"total" : 2,"max_score" : 0.6931472,"hits" : [{"_index" : "lib3","_type" : "user","_id" : "2","_score" : 0.6931472,"_source" : {"name" : "zhaoming","address" : "bei jing hai dian qu qing he zhen","age" : 20,"birthday" : "1998-10-12","interests" : "xi huan hejiu, duanlian, changge"}},{"_index" : "lib3","_type" : "user","_id" : "1","_score" : 0.2876821,"_source" : {"name" : "zhaoliu","address" : "hei long jiang sheng tie ling shi","age" : 50,"birthday" : "1970-12-12","interests" : "xi buan hejiu, duanlian, lvyou"}}]} }

我們在看下匹配度的問題

GET /lib3/user/_search {"query":{"match":{"interests": "duanlian changge"}} } {"took" : 8,"timed_out" : false,"_shards" : {"total" : 5,"successful" : 5,"skipped" : 0,"failed" : 0},"hits" : {"total" : 4,"max_score" : 1.3862944,"hits" : [{"_index" : "lib3","_type" : "user","_id" : "2","_score" : 1.3862944,"_source" : {"name" : "zhaoming","address" : "bei jing hai dian qu qing he zhen","age" : 20,"birthday" : "1998-10-12","interests" : "xi huan hejiu, duanlian, changge"}},{"_index" : "lib3","_type" : "user","_id" : "3","_score" : 0.5753642,"_source" : {"name" : "lisi","address" : "bei jing hai dian qu qing he zhen","age" : 23,"birthday" : "1998-10-12","interests" : "xi huan hejiu,duanlian, changge"}},{"_index" : "lib3","_type" : "user","_id" : "5","_score" : 0.2876821,"_source" : {"name" : "zhangsan","address" : "bei jing chao yang qu","age" : 29,"birthday" : "1988-10-12","interests" : "xi huan tingyinyue , changge , tiaowu"}},{"_index" : "lib3","_type" : "user","_id" : "1","_score" : 0.2876821,"_source" : {"name" : "zhaoliu","address" : "hei long jiang sheng tie ling shi","age" : 50,"birthday" : "1970-12-12","interests" : "xi buan hejiu, duanlian, lvyou"}}]} } #查詢user索引下年齡20的文檔 GET /lib3/user/_search {"query":{"match":{"age": 20}} } #查詢索引user下的所有文檔 GET /lib3/user/_search {"query":{"match_all":{}} }

#multi_match:可以指定多個字段條件查詢

#multi_match指定多個字段條件查詢 #只要指定字段條件中含有changge的這個關鍵字都會被查詢出來 #那么含有changge也會被檢索到 GET /lib3/user/_search {"query" :{"multi_match": {"query": "changge","fields": ["interests" , "name"]}} }

#短語匹配? match_phrase

#短語匹配,在interests這個字段中含有完全一樣的短語就會被查詢出來 GET lib3/user/_search {"query":{"match_phrase":{"interests": "duanlian, changge"}} }

?

?

總結

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

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