0

数日前、私はこの「問題」を抱えていました。match_phraseインデックスでクエリを実行していました。複数の単語の名詞で同じ検索を行うまでは、すべてが期待どおりでした (大学などの単一の単語の名詞を使用する前に)。スペルを 1 つ間違えると、検索が機能しませんでした (見つかりませんでした)。単語を削除すると (スペルが正しいものとしましょう)、検索が機能しました (見つかりました)。

ここに私が作った例があります:

設定

PUT index1
{
  "mappings": {
    "myType": {
      "properties": {
        "field1": {
          "type": "string",
          "analyzer": "standard"
        }
      }
    }
  }
}

POST index1/myType/1
{
  "field1": "Commercial Banks"
}

ケース 1:単一名詞検索

GET index1/myType/_search
{
  "query": {
    "match": {
      "field1": {
        "type": "phrase", 
        "query": "comersial",
        "fuzziness": "AUTO"
      }
    }
  }
}

{
  "took": 16,
  "timed_out": false,
  "_shards": {
    "total": 5,
    "successful": 5,
    "failed": 0
  },
  "hits": {
    "total": 1,
    "max_score": 0.19178303,
    "hits": [
      {
        "_index": "index1",
        "_type": "myType",
        "_id": "1",
        "_score": 0.19178303,
        "_source": {
          "field1": "Commercial Banks"
        }
      }
    ]
  }
}

ケース 2:複数名詞検索

GET index1/myType/_search
{
  "query": {
    "match": {
      "field1": {
        "type": "phrase", 
        "query": "comersial banks",
        "fuzziness": "AUTO"
      }
    }
  }
}

{
  "took": 1,
  "timed_out": false,
  "_shards": {
    "total": 5,
    "successful": 5,
    "failed": 0
  },
  "hits": {
    "total": 0,
    "max_score": null,
    "hits": []
  }
}

match_phraseでは、2 番目のケースでは、クエリを実行したときにドキュメントが見つからないのはなぜですか? 足りないものはありますか?それらの結果は、私が知っていることに疑問を投げかけるだけです。あいまい検索の使い方が間違っていませんか? これが問題なのか、動作が理解できないのは私にはわかりません。

私の質問を読んでくれてありがとう。これで私を助けてくれることを願っています。

4

1 に答える 1