[英]Elastic Multimatch string with dash (or other symbol)
我正在嘗試在我的彈性查詢中匹配破折號(和其他符號)。
使用默認空白分析器對所有字段進行模糊搜索。
我的查詢:
function_score: {
query: {
multi_match: {
query: string
analyzer: "whitespace",
fuzziness: 1
}
}
}
然而,這對破折號字符有意想不到的結果。 前中央公園不適用於此。 或者
只有當我使用短語匹配並去掉雙引號時,破折號才能正常工作。 但是沒有模糊性。
有誰知道我怎樣才能用破折號正常獲得模糊搜索?
添加具有索引映射、索引數據、搜索查詢和搜索結果的工作示例
索引映射:
{
"mappings": {
"properties": {
"place": {
"type": "text",
"analyzer":"whitespace"
}
}
}
}
指數數據:
{
"place": "Cwntral-Park"
}
{
"place": "Central-Park"
}
{
"place": "Central-Area"
}
搜索查詢:
{
"query": {
"bool": {
"should": {
"match": {
"place": {
"query": "Central-Park",
"fuzziness": 1
}
}
}
}
}
}
搜索結果:
"hits": [
{
"_index": "65605120",
"_type": "_doc",
"_id": "1",
"_score": 0.9808291,
"_source": {
"place": "Central-Park"
}
},
{
"_index": "65605120",
"_type": "_doc",
"_id": "3",
"_score": 0.8990934,
"_source": {
"place": "Cwntral-Park"
}
}
]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.