私はSolr 3.5.0を使用し、Schemaではすべての必要なフィールドにLowerCaseFilterFactoryを有効にしましたが、結果を得るための例「シャツ」を検索すると、 "シャツ"を検索私は期待される結果を得ることができますが、結果を与えない "shiRTs"で検索しようとすると。私はスキーマでいくつか欠けていることを知っています。Solrキーワードの小文字と大文字
私にこれを手伝ってください。
ありがとう
Jeyaprakash。
私はSolr 3.5.0を使用し、Schemaではすべての必要なフィールドにLowerCaseFilterFactoryを有効にしましたが、結果を得るための例「シャツ」を検索すると、 "シャツ"を検索私は期待される結果を得ることができますが、結果を与えない "shiRTs"で検索しようとすると。私はスキーマでいくつか欠けていることを知っています。Solrキーワードの小文字と大文字
私にこれを手伝ってください。
ありがとう
Jeyaprakash。
インデックスとクエリの両方で同じアナライザとフィルタを適用すると、検索するクエリがトークンインデックスと一致します。あなたの場合のように
- あなたは、インデックス時ではなく、問合せ時に小文字のフィルタを適用した場合: -
インデックストークンはshirts
になります。しかし、検索クエリを分析されていないようSHIRTS
かさえShirts
が一致しません。添え字shirts
トークン。
ステマーやストップワードなどのフィルタを使用している場合も同様です。
http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#Analyzers
アナライザは、 インデックス時および/または検索時に前処理の入力テキストコンポーネントです。互換性のある方法でテキストを処理し、インデックスで 時間のクエリを処理する同じまたは類似の アナライザを使用することが重要です。たとえば、索引付けアナライザが単語を小文字にする場合、 クエリアナライザは、索引付けされた単語を見つけることを可能にするために同じことを行う必要があります。
ありがとうJayendra。 :) – jeyaprakash
誰かがこれを行う方法を教えてもらえますか? たとえば、フィルタ 'solr.LowerCaseFilterFactory'がtext_en_splittingのスキーマに適用されます。これをクエリにどのように適用するのですか? –
スキーマに '
インデックス作成とクエリの実行中にLowerCaseFilterFactoryを追加する必要があります。欠落している可能性があります。フィールドタイプを共有すると、適切な回答が得られます。 –