摘要:前綴部分必須完全匹配。搜索建議搜索建議功能,需要配合程序,在向中存入文檔時(shí),就需要通過(guò)分詞等方式,指定搜索建議字段的內(nèi)容。注意,高亮的結(jié)果在返回時(shí)多帶帶存放,并不是將數(shù)據(jù)做了改變。的官方文檔是最好的參考資料,介紹很全面。
模糊搜索
可以進(jìn)行模糊搜索:
GET job/type1/_search { "query":{ "fuzzy":{ "title":{ "value":"linx", "fuzziness": 2, "prefix_length": 1 } } } }
在上面的例子中,可模糊查詢與linx相似的單詞。
fuzziness是指“編輯距離”,就是說(shuō)從一個(gè)字符串想要通過(guò)增刪改變換到另一個(gè)字符串,需要操作的最少次數(shù)。比如,linux和linxu之間的編輯距離為1,因?yàn)榻粨Qux就可以完成變換。
prefix_length是說(shuō)多少位字符認(rèn)為是前綴。前綴部分必須完全匹配。
搜索建議功能,需要配合程序,在向es中存入文檔時(shí),就需要通過(guò)分詞等方式,指定搜索建議字段的內(nèi)容。
指定之后,可通過(guò)suggest方式,根據(jù)用戶的當(dāng)前輸入,獲取搜索建議:
GET wechatsearch/passage/_search { "suggest":{ "my-suggest":{ "text":"ppt", "completion":{ "field":"suggest", "fuzzy":{ "fuzziness":2 } } } }, "_source": "ptitle" }
上面代碼搜索出與ppt關(guān)鍵詞相近的搜索建議。其中,fuzziness值為2,因此,像p2p、pdf之類的關(guān)鍵詞也會(huì)被搜索出來(lái)。較小的fuzziness會(huì)有更精確的匹配。
返回結(jié)果示例:
{ "took": 20, "timed_out": false, "_shards": { "total": 5, "successful": 5, "failed": 0 }, "hits": { "total": 0, "max_score": 0, "hits": [] }, "suggest": { "my-suggest": [ { "text": "ppt", "offset": 0, "length": 3, "options": [ { "text": "pdf", "_index": "wechatsearch", "_type": "passage", "_id": "16", "_score": 10, "_source": { "ptitle": "Smallpdf:無(wú)所不能的PDF在線處理站" } }, { "text": "ppt", "_index": "wechatsearch", "_type": "passage", "_id": "7", "_score": 10, "_source": { "ptitle": "這18個(gè)技巧都不知道,別說(shuō)你會(huì)做PPT" } }, { "text": "pa", "_index": "wechatsearch", "_type": "passage", "_id": "10", "_score": 5, "_source": { "ptitle": "吐血整理了這20個(gè)堪稱神器的網(wǎng)站,個(gè)個(gè)都能解你燃眉之急" } } ] } ] } }搜索高亮
可以指定哪些字段搜索高亮,并且指定高亮字符兩側(cè)的包裹標(biāo)簽,從而實(shí)現(xiàn)查詢的返回結(jié)果包含html高亮效果。
GET /megacorp/employee/_search { "query" : { "match_phrase" : { "about" : "rock climbing" } }, "highlight": { "fields" : { "about" : {} } } }
注意,高亮的結(jié)果在返回時(shí)多帶帶存放,并不是將_source數(shù)據(jù)做了改變。
多帶帶有一個(gè)highlight部分存放高亮內(nèi)容:
{ ... "hits": { "total": 1, "max_score": 0.23013961, "hits": [ { ... "_score": 0.23013961, "_source": { "first_name": "John", "last_name": "Smith", "age": 25, "about": "I love to go rock climbing", "interests": [ "sports", "music" ] }, "highlight": { "about": [ "I love to go rock climbing" ] } } ] } }
關(guān)于ES的入門使用暫時(shí)整理到這里。
ES的官方文檔是最好的參考資料,介紹很全面。
完成這些文檔的同時(shí),做了一個(gè)簡(jiǎn)單的小項(xiàng)目,基于Python(Django)的web搜索界面,采用ES作為搜索引擎。
此項(xiàng)目地址:
https://github.com/dox1994/We...
搜索提示:
搜索結(jié)果:
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/40717.html
閱讀 575·2023-04-26 02:58
閱讀 2315·2021-09-27 14:01
閱讀 3622·2021-09-22 15:57
閱讀 1184·2019-08-30 15:56
閱讀 1053·2019-08-30 15:53
閱讀 801·2019-08-30 15:52
閱讀 656·2019-08-26 14:01
閱讀 2174·2019-08-26 13:41