ElasticSearch模糊查询(中文检索)
生活随笔
收集整理的這篇文章主要介紹了
ElasticSearch模糊查询(中文检索)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
# "*" 表示匹配任意字符
GET /lib4/user/_search
{"query": {"wildcard": {"name": "趙*"}}
}# "?" 表示匹配任意一個字符
GET /lib4/user/_search
{"query": {"wildcard": {"name": "li?i"}}
}
?fuzzy實現模糊查詢
uzzy 查詢是 term 查詢的模糊等價。
a、是?包含(contains)?操作,而非?等值(equals)?(判斷)。
b、不知道分詞器的存在,所以不會去分詞,
c、所謂的包含是文檔分詞結果某個分詞是否包含,不是整個文檔是否包含
d、因為是在分詞結果中匹配,所以大寫要轉換為小寫,大寫字母是匹配不到
value:查詢的關鍵字
boost:查詢的權值,默認值是1.0
min_similarity:設置匹配的最小相似度默認值為0.5, 對于字符串,取值為0-1(包括0和1);對于數值,取值可能大于1;對于日期型取值為1d,1m等,1m代表一個月? 1d就代表1天
prefix_length:指明區分詞項的共同前綴長度,默認是0
max_expansions:查詢中的詞項可以擴展的數目,默認可以無限大
GET /lib4/user/_search { "query":{ "fuzzy":{ "interests":"唱歌" }}}
GET /lib4/user/_search { "query":{ "fuzzy": { "interests":{ "value":"喝酒"?}}}
?
?
總結
以上是生活随笔為你收集整理的ElasticSearch模糊查询(中文检索)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android init.rc分析
- 下一篇: 自己动手利用KVM和Intel VT实现