一尘不染

Elasticsearch模糊短语

elasticsearch

我有以下查询,以便在搜索中增加模糊性。但是,我现在意识到,匹配查询不像match_phrase那样考虑搜索字符串中单词的顺序。但是,我无法获得match_phrase给我模糊的结果。有没有办法告诉比赛考虑单词之间的顺序和距离?

{
    "query": {
        "match": {
            "content": {
                "query": "some search terms like this",
                "fuzziness": 1,
                "operator": "and"
            }
        }
    }
}

阅读 297

收藏
2020-06-22

共1个答案

一尘不染

最终发现我需要使用span查询的组合,从而对模糊性和倾斜度进行了大量的微调。我需要添加一个函数来手动标记我的短语并以编程方式添加到“子句”数组中:

{"query":
{
  "span_near": {
    "clauses": [
      {
        "span_multi": {
          "match": {
            "fuzzy": {
              "content": {
                "fuzziness": "2",
                "value": "word"
              }
            }
          }
        }
      },
      {
        "span_multi": {
          "match": {
            "fuzzy": {
              "content": {
                "fuzziness": "2",
                "value": "another"
              }
            }
          }
        }
      }                   
    ],
    "slop": 1,
    "in_order": "true"
2020-06-22