2012-01-11 11 views
0

私たちは、たくさんのツイートやブログをsolrに保存しています。さえずりのためのユーザーの検索のような言及場合Solr検索の問題

は今、@rohitは、単に単語のRohitを含むレコードも返されています。我々は完全一致「@rohit」を行う場合でも、私はこれが原因で、特別なcharatersに分割WordDelimiterFilterFactoryの使用が起こる理解し、

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

は、どのように私は、「@」なしに戻らないためにSolrのを強制することができます。私はsplitOnCaseChangeとstemEnglishPossessiveが役に立ちますので、WordDelimiterFilterFactoryを削除したくありませんか?私がはっきりしていることを願っている。

よろしく、

のRohit

答えて

2

あなたがpreserveOriginalを設定した場合= "1" この問題が解決されなければなりません。そうでない場合は、あなたのトークナイザが@を取り除くかもしれないので、solr.WhitespaceTokenizerFactoryのような別のものを選択する必要があります。私はどうなるのか

+0

、whitespacetokenizerfactory上WordDelimiterFilterFactoryを使用することの利点は何ですか? – sesmic

+0

もう一方を使用しないでください。 WhitespaceTokenizerFactoryを使用するときは、検索に使用できる用語を作成するために実際にWordDelimiterFilterFactoryが必要です。 –

1

はそれでpreserveOriginal =「1」で新しいFIELDTYPEを作成することです。次に、copyfieldを古いfieldTypeに作成することができます。そうすれば、両方とも検索できるフィールドの2つの異なるバージョンになるでしょう。なぜなら、時には「@」も使わずに検索することが必要になるからです。 '@'のような特殊文字を使って検索すると、保存されている元のフィールドを検索するか、そうでなければ通常のようにデフォルトのフィールドを検索します。ただ、好奇心のうち