単語、句、またはサブ文字列のフィルター処理

インデックス・フィールドに単語、句、またはサブ文字列を含む行を検索します。(SQLのLIKEと類似)

インデックス・フィールドにSQLのLIKEなどの単語、句、またはサブ文字列を含む行を検索します。
  • 単語:スペースや句読点を含まず、行の先頭または末尾、スペース、句読点によって他の内容と区切られている単語。
  • サブ文字列:単語内の照合文字パターン。ゼロ文字以上の文字を表すにはアスタリスク(*)を使用します。単語検索でゼロ文字または1文字を表すには疑問符(?)を使用します。
  • :スペースまたは句読点、またはその両方を含む完全一致の文字列。句読点、スペース、または行の先頭または末尾によって他の内容と区切られている、完全一致の文字列を検索するには、句を二重引用符で囲みます。

始める前に

以下の例を実行するには、ウィキペディア・デモを使用した語句の検索を設定します。Searchノードでcqlshを使用して、以下の文のsearch_expressionを例の文字列と置き換えます。
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のどちらかを含んでいる行をカウントします。