我是新來的彈性搜索,所以我掙扎了一下,爲我們的數據找到最佳查詢。彈性搜索查詢同時使用match_phrase_prefix和模糊性?
想象一下,我想匹配下列單詞「Handelsstandens Boldklub」。
目前,我使用下面的查詢:
{
query: {
bool: {
should: [
{
match: {
name: {
query: query, slop: 5, type: "phrase_prefix"
}
}
},
{
match: {
name: {
query: query,
fuzziness: "AUTO",
operator: "and"
}
}
}
]
}
}
}
目前,它列出如果我搜索「手」這個詞,但如果我搜索「處理」一詞將不再上市因爲我做了一個錯字。但是,如果我以「Handlesstandens」結尾,它會再次列出,因爲模糊會碰到輸入錯誤,但只有當我輸入整個單詞時。
它是否有可能在同一時間做phrase_prefix和模糊?那麼在上面的例子中,如果我在路上犯了一個錯字,它還會列出這個單詞嗎?
所以在這種情況下,如果我搜索「句柄」,它仍然會匹配單詞「Handelsstandens Boldklub」。
還有什麼其他解決方法可以實現上述體驗?我喜歡phrase_prefix匹配,因爲它也支持馬虎匹配(因此我可以搜索「Boldklub漢」,它會列出結果)
或者可以通過使用完成建議程序來實現上述目標嗎?