簡體   English   中英

帶有破折號(或其他符號)的彈性多重匹配字符串

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM