単語、句、またはサブ文字列のフィルター処理
インデックス・フィールドに単語、句、またはサブ文字列を含む行を検索します。(SQLのLIKEと類似)
インデックス・フィールドにSQLのLIKEなどの単語、句、またはサブ文字列を含む行を検索します。
- 単語:スペースや句読点を含まず、行の先頭または末尾、スペース、句読点によって他の内容と区切られている単語。
- サブ文字列:単語内の照合文字パターン。ゼロ文字以上の文字を表すにはアスタリスク(*)を使用します。単語検索でゼロ文字または1文字を表すには疑問符(?)を使用します。
- 句:スペースまたは句読点、またはその両方を含む完全一致の文字列。句読点、スペース、または行の先頭または末尾によって他の内容と区切られている、完全一致の文字列を検索するには、句を二重引用符で囲みます。
始める前に
SELECT count(*) FROM wiki.solr
WHERE solr_query = search_expression;
手順
-
インデックス・カラムまたは特定のカラムの単一の単語を検索します。
表 1. 単語の例 検索範囲 構文 例 結果 説明 すべてのカラム 'term' 'Journal' count ------- 159
タイトルまたは本文のフィールドにAfricanという単語を含む行の数。 特定のカラム 'column_name: term' 'title: Journal' count ------- 9
タイトルにJournalという単語を含む行の数。検索範囲を特定のカラムに制限するには、クエリー構文でカラム名を使用します。 -
サブ文字列の検索:
アスタリスクはゼロ文字以上の文字を表します。
疑問符はゼロ文字または1文字を表します。
表 2. サブ文字列の例 タイプ 例 結果 説明 単語の先頭 'title:Africa?' count ------- 16
タイトルに、Africaで始まり、さらに追加1文字のみを含む場合もある単語を含む行の数。 単語内の任意の場所 'title:*at*' count ------- 559
単語atを含むか、atを含む単語を含む行の数。 -
すべてのカラムまたは特定のカラム内の句の検索:
表 3. 句の例 検索範囲 構文 例 結果 説明 すべてのカラム '"phrase"' '"African Journal"' count ------- 8
タイトルまたは本文に完全一致の句を含む行の数。 特定のカラム 'column_name:"phrase"' 'title:"African Journal"' count ------- 8
タイトルに完全一致の句を含む行の数。 -
演算子を使用して、インデックス・フィールドにタイトルなどの複数の単語または句を検索します。
表 4. 複数の単語または句、演算子を使用 場所 例 結果 説明 複数の単語を含む 'title:(+Journal, +Science)'' 'title:Journal AND Science'
count ------- 4
タイトルにJournalとScienceの両方を含む行の数。単語のリストを使用するには、コンマまたはスペースで区切られた単語のリストを含めて、ブーリアン演算子を指定します。この場合、+はその単語を含むことを意味するため、両方の単語がタイトルに含まれている必要があります。 どちらかの単語 'title:(Journal || Science)' count ------- 12
タイトルにJournalまたはScienceのどちらかを含む行の数。2つのパイプ文字を使用して単語を区切ります。どちらかの句を検索するには、'("Journal of Science" || "Science Journal")'のように文字列を二重引用符で囲みます。 単語の先頭のサブ文字列、包含 'title:Africa?' count ------- 16
タイトルに、Africaで始まり、さらに追加1文字のみを含む場合もある単語を含む行の数。 単語内の任意の場所のサブ文字列、単語を包含 'title:*at*' count ------- 559
単語atを含むか、atを含む単語を含む行の数。 '("Journal of Science" || "Science Journal")' タイトルにどちらかの単語を含む行の数。 両方の句を検索するには、各文字列を二重引用符で囲みます。
句といずれかの単語 'title:(+"African Journal", +(Science || "Legal Studies"))' count ------- 5
複雑なクエリーを作成するにはSolrブーリアンを使用します。この例では、タイトルにAfrican Journalを含み、さらにScienceまたはLegal Studiesのどちらかを含んでいる行をカウントします。