2012-02-24 50 views
2

私はSolr 3.5.0を使用し、Schemaではすべての必要なフィールドにLowerCaseFilterFactoryを有効にしましたが、結果を得るための例「シャツ」を検索すると、 "シャツ"を検索私は期待される結果を得ることができますが、結果を与えない "shiRTs"で検索しようとすると。私はスキーマでいくつか欠けていることを知っています。Solrキーワードの小文字と大文字

私にこれを手伝ってください。

ありがとう

Jeyaprakash。

+1

インデックス作成とクエリの実行中にLowerCaseFilterFactoryを追加する必要があります。欠落している可能性があります。フィールドタイプを共有すると、適切な回答が得られます。 –

答えて

4

インデックスとクエリの両方で同じアナライザとフィルタを適用すると、検索するクエリがトークンインデックスと一致します。あなたの場合のように

- あなたは、インデックス時ではなく、問合せ時に小文字のフィルタを適用した場合: -
インデックストークンはshirtsになります。しかし、検索クエリを分析されていないようSHIRTSかさえShirtsが一致しません。添え字shirtsトークン。

ステマーやストップワードなどのフィルタを使用している場合も同様です。

http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#Analyzers

アナライザは、 インデックス時および/または検索時に前処理の入力テキストコンポーネントです。互換性のある方法でテキストを処理し、インデックスで 時間のクエリを処理する同じまたは類似の アナライザを使用することが重要です。たとえば、索引付けアナライザが単語を小文字にする場合、 クエリアナライザは、索引付けされた単語を見つけることを可能にするために同じことを行う必要があります。

+0

ありがとうJayendra。 :) – jeyaprakash

+0

誰かがこれを行う方法を教えてもらえますか? たとえば、フィルタ 'solr.LowerCaseFilterFactory'がtext_en_splittingのスキーマに適用されます。これをクエリにどのように適用するのですか? –

+0

スキーマに ''と ''を意味しましたか?私はこれを持っていますが、まだ効果がありません...質問はまだ質問に記載されていません –

関連する問題