我使用下面的映射將彈性簇中的文檔編入索引。基本上我有一個字段指定的模型,其保持像「的Silverado 2500HD」汽車型號名稱「的Silverado 1500HD」「LX 350」等等等等涉及數字字符的彈性搜索同義詞匹配
POST /location-test-no-boost {
"settings":{
"analysis":{
"analyzer":{
"mysynonym":{
"tokenizer":"standard",
"filter":[
"standard","lowercase","stop","mysynonym"
],
"ignore_case":true
}
},
"filter":{
"mysynonym":{
"type":"synonym",
"synonyms": [
"2500 HD=>2500HD",
"chevy silverado=>Silverado"
]
}
}
}
},
"mappings":{
"vehicles":{
"properties":{
"id":{
"type":"long",
"ignore_malformed":true
},
"model":{
"type":"String",
"index_analyzer": "standard",
"search_analyzer":"mysynonym"
}
}
}
}
}
的示例文檔內容是
POST /location-test-no-boost/vehicles/10
{
"model" : "Silverado 2500HD"
}
當我試圖用查詢字符串「Chevy sivlerado」進行搜索,同義詞與Silverado完全匹配並返回結果,相反,當我試圖通過查詢字符串「2500 HD」搜索時返回0結果。我嘗試了涉及數字的同義詞的不同組合,並發現彈性搜索同義詞映射器不支持數字,這是正確的嗎?
有沒有什麼辦法可以讓一些映射時爲「2500高清」用戶搜索,我可以映射查詢「2500HD」
你還沒說你使用的查詢。你如何做你的疑問?你能給個例子嗎? –