我是elasticsearch的新手,並且正在環顧四周模糊查詢搜索。
我做了一個新的指數產品與對象/記錄值這樣在彈性搜索中使用模糊查詢時查找實際匹配詞
{
"_index": "products",
"_type": "product",
"_id": "10",
"_score": 1,
"_source": {
"value": [
"Ipad",
"Apple",
"Air",
"32 GB"
]
}
}
現在,當我像
{
query: {
fuzzy: {
value: "tpad"
}
}
}
執行在elasticsearch模糊查詢搜索,它返回我正確的記錄(產品只是上面做的),這是預期的。
而且我知道tpad
一詞匹配ipad
,所以記錄是返回。
但技術上我怎麼會知道它匹配ipad
。彈性搜索只返回這樣
{
"took": 4,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"hits": {
"total": 1,
"max_score": 0.61489093,
"hits": [
{
"_index": "products",
"_type": "product",
"_id": "10",
"_score": 0.61489093,
"_source": {
"value": [
"Ipad",
"Apple",
"Air",
"32 GB"
]
}
}
]
}
}
完整記錄(或記錄)是否有彈性的搜索條件的方式,這樣我可以知道它是否匹配tpad
對ipad
是否有可能以相反的方式做到這一點?我想知道「tpad」(來自我的查詢字符串)匹配 - 而不是知道「ipad」(來自文檔)匹配。 – ankr
@ankr您是否爲您的查詢得到了答案?我也在尋找一些關於不匹配的詞的信息,但到目前爲止,我沒有找到任何東西。 – paweloque