1

SOLR データ フォルダーに FilePath をアップロードし、LIKE 操作を使用して Web サイトから検索したいと考えています。

そのために、スキーマファイルで次のタイプを使用しようとしましたが、失敗しました。

1を試してください。

<fieldType name="string_wildcards" class="solr.TextField" positionIncrementGap="100">
      <analyzer type="index">
        <tokenizer class="solr.StandardTokenizerFactory"/>
        <filter class="solr.StandardFilterFactory"/>
        <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.StopFilterFactory" words="stopwords.txt" ignoreCase="true"/>
        <filter class="solr.ISOLatin1AccentFilterFactory"/>
        <filter class="solr.TrimFilterFactory" />
        <filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="30"/>
      </analyzer>
      <analyzer type="query">
        <tokenizer class="solr.StandardTokenizerFactory"/>
        <filter class="solr.StandardFilterFactory"/>
        <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.StopFilterFactory" words="stopwords.txt" ignoreCase="true"/>
        <filter class="solr.ISOLatin1AccentFilterFactory"/>
        <filter class="solr.TrimFilterFactory" />
      </analyzer>
    </fieldType>

トライ2. レタートークナイザーの使用。

  <fieldType name="string_wildcards_letter" class="solr.TextField" positionIncrementGap="100">
          <analyzer type="index">
              <tokenizer class="solr.LetterTokenizerFactory"/>
              <filter class="solr.LowerCaseFilterFactory"/>
              <filter class="solr.EdgeNGramFilterFactory" minGramSize="1" maxGramSize="30"/>
          </analyzer>
          <analyzer type="query">
              <tokenizer class="solr.StandardTokenizerFactory"/>
              <filter class="solr.StandardFilterFactory"/>
              <filter class="solr.LowerCaseFilterFactory"/>
          </analyzer>
      </fieldType>

3. Keyword Tokeniser を使用してみてください。

<fieldType name="string_wildcards_keyword" class="solr.TextField" positionIncrementGap="100">
              <analyzer type="index">
                  <tokenizer class="solr.KeywordTokenizerFactory"/>
                  <filter class="solr.LowerCaseFilterFactory"/>
                  <filter class="solr.EdgeNGramFilterFactory" minGramSize="1" maxGramSize="30"/>
              </analyzer>
              <analyzer type="query">
                  <tokenizer class="solr.StandardTokenizerFactory"/>
                  <filter class="solr.StandardFilterFactory"/>
                  <filter class="solr.LowerCaseFilterFactory"/>
              </analyzer>
          </fieldType>

上記の 3 回の試行はすべて失敗しました。誰でも助けていただければ幸いです。

SOLR クエリの例

Field Name: 
OriginalFilePath

My Input value is:
X:\Intake\1102\02.01.11\TX_DA26396_RushTopCompanies_Non-SERFF_01.28.11_PR\TX_P_1_01.28.11_NS\Dairyland County Mutual Insurance Company_01.28.11 03.pdf

My Query is:
OriginalFilePath:(x\\:\\\\intake\\\\1102\\\\02.01.11\\\\tx_da26396_rushtopcompanies_non\\-serff_01.28.11_pr\\\\tx_p_1_01.28.11_ns\\\\dairyland county mutual insurance company_01.28.11 03.p*)

最後のアスタリスクは、そのフィールドで LIKE 操作を使用するためのものです。

クエリの作成にも問題がある場合はお知らせください。

ありがとう。

4

1 に答える 1

0

パスを分割し、ワイルドカード クエリの実行に役立つPathHierarchyTokenizerを確認できます。

おそらく、RegularExpressionPatternTokenizerを使用して、区切り記号でトークンを生成することもできます。ワイルドカード クエリで使用できる個々のトークン (ファイル パス階層ではない) になります。

于 2013-01-02T09:50:15.470 に答える