7

エラスティック検索は初めてなので、データに最適なクエリを見つけるのに少し苦労しています。

次の単語「Handelsstandens Boldklub」に一致させたいと想像してください。

現在、次のクエリを使用しています。

{
    query: {
      bool: {
        should: [
          {
            match: {
              name: {
                query: query, slop: 5, type: "phrase_prefix"
              }
            }
          },
          {
            match: {
              name: {
                query: query,
                fuzziness: "AUTO",
                operator: "and"
              }
            }
          }
        ]
      }
    }
  }

現在、「Hand」を検索すると単語がリストされますが、「Handle」を検索すると、タイプミスをしたため、単語がリストされなくなります。ただし、「Handlesstandens」で最後まで到達すると、あいまいさがタイプミスをキャッチするため、再びリストされますが、単語全体を入力した場合のみです。

phrase_prefix と fuzziness を同時に行うことは何とか可能ですか? 上記の場合、途中でタイプミスした場合でも、単語がリストされますか?

したがって、この場合、「Handle」を検索しても、「Handelsstandens Boldklub」という単語に一致します。

または、上記の経験を達成するために他にどのような回避策がありますか? 私は、ずさんなマッチングもサポートしているので、phrase_prefix マッチングが好きです (したがって、「Boldklub han」を検索すると、結果が一覧表示されます)。

または、補完サジェスターを使用して上記を達成できますか?

4

1 に答える 1