You are currently viewing OpenSearch QueryDSL Full-Textクエリを見てみる

OpenSearch QueryDSL Full-Textクエリを見てみる

前回は用語クエリを一通り見てみました。
今回は全文検索クエリを一通り見ていきたいと思います。
今回もOpenSearchダッシュボードのサンプルデータ「E-Commerce」を対象にクエリを実行していきます。

公式ドキュメントはこちら
https://opensearch.org/docs/latest/query-dsl/full-text/

Match

指定された検索文字列を分析し、文字列の用語のいずれかに一致するドキュメントを返します。

https://opensearch.org/docs/latest/query-dsl/full-text/#match

とのことで、「検索文字列を分析し」というところが用語クエリと一番違うところになりそうです。

Multi Match

Matchで複数カラムを対象に検索する場合は「Multi Match」を使います。
「^(ハット)」を利用することで特定のフィールドに対して優先度を上げられるとのことでした。

Match Boolean prefix

説明を読んでもよくわからなかった・・・

指定された検索文字列を分析し、bool文字列の用語からクエリを作成します

https://opensearch.org/docs/latest/query-dsl/full-text/#match

なので、指定した用語を含みつつ、一番最後に指定した単語から始まる文字列を検索するのかなと思ったら、結果を見るとそうではなかった・・・ 使い方は要確認・・・

Match Phrase

指定された順序で正確なフレーズを含むドキュメントを検索するためのクエリです。

Match Phrase Prefix

Match Phraseのプリフィックス版です。もともとのMatch Boolean Prefixの使い方をきちんと理解していないため、こちらもクエリの効果はわからず・・・

Query String

クエリ文字列をもとに、条件式に基づいて検索を行います。
カラム指定がなかったのですが、全体に対して検索をかけてるんでしょうかね・・・?

Simple Query String

正規表現でクエリを指定するようです。
一般的な正規表現ではないので、独自の記述を覚える必要がありそうですね

Match All

すべてのデータを取得するクエリです。とりあえず登録されているデータを確認したいときに重宝しそうです。
(大量データに対して実行するときは注意が必要そうですね)

以上

ということで、ざっくり全文検索クエリを見てみました。
各クエリには指定できるオプションがあり、それらと組み合わせることでクエリをコントロールできるようです。
プリフィックス系のクエリは効果がよくわからなかったので、時間を取って再度調査したいですね

コメントを残す