# "*" 表示比對任意字元
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":"喝酒" }}}
GET /lib4/user/_search
{
"query": {
"fuzzy": {
"interests": {"value": "喝酒"}
}
}
}