我正在嘗試對括號內的名稱進行彈性搜索。我正在處理名稱數據庫,並且其中一些名稱包含姓名字段中的婚前姓名。少女的名字用方括號表示,比如「Samantha [Murray]」。我的客戶希望我們的'精確搜索'功能可以正常工作,因此如果您搜索「Murray」,您只能以Murray的名字獲得結果,不包括婚前姓名;但是如果你搜索「[Murray]」,你會得到未婚名,但不是名字= Murray,即搜索「Murray」>>「Murray Smith」而不是「Samantha [Murray] Jones」,搜索「[Murray]」 >>反之亦然。Elasticsearch:專門搜索括號內的單詞
到目前爲止我的問題是,彈性搜索似乎完全忽略括號。這是我的查詢...
{
"query": {
"filtered": {
"query": {
"bool": {
"must": [
{
"query_string": {
"default_field" : "first_name",
"query" : "\\[Murray\\]"
}
}
]
}
}
}
}
}
但我得到了同樣的結果,我爲「查詢」:「默裏」根本沒有括號。我嘗試了一個正則表達式,但結果更糟糕,我得到的名字甚至都沒有接近「Murray」(我得到了諸如「Rogers」之類的東西)。
這種類型的請求可能在彈性?如果是這樣,我需要改變什麼?
我會認爲「\\ [」是逃避反斜槓和孤立的支架。怎麼樣 」\[」 ? – 2014-10-07 05:11:26
由於[是彈性搜索中的特殊字符,會導致錯誤 – 2014-10-07 16:07:27