2012-04-16 5 views
1

私はSolrスキーマにキーワードフィールドを持っています。solr QParserPluginがキーワードフィールドに空白トークナイザを使用しないようにするには?

<fieldType name="text_keyword" class="solr.TextField" positionIncrementGap="100"> 
<analyzer> 
<tokenizer class="solr.SimpleKeywordTokenizerFactory"/> 
</analyzer> 
</fieldType> 

私はデフォルトのSolrのクエリまたはdismaxクエリ category:(Mouse Pad)で、このフィールドを検索しようとすると、それは私が知りたいのクエリ(category:Mouse) AND (category:Pad)

は、それがキーワードフィールドの場合空白で用語を分割しない方法がある作成とか、ぐらい。

追加: は、私はSimpleKeywordTokenizerFactoryは、クエリに(空白分割なしの小文字である)を分析必要なので、rawtermクエリパーサーは私のために動作しません

+0

未解決の問題があるようです。https://issues.apache.org/jira/browse/LUCENE-1122 – jpountz

答えて

0

あなたは使用することができTermQParserPlugin

{ !term f = category}マウスパッド

分析が行われないように注意してください。フィールドの内部表現が「マウスパッド」(タイトルが大文字である)の場合にのみ有効です。

編集(2012-04-17):

あなたはまだ分析を実行する場合は、あなたがする必要があるすべては、バックスラッシュを付加することでスペースをエスケープすることです!

{luceneの}カテゴリ:あなたはこのクエリを入力するマウス\パッド

+0

はい私は{!raw}でもこれを行うことができます。しかし、実際にはフィールド分析(小文字のような)をしたい。唯一の私が望んでいないと思うのは、ホワイトスペースの分割とキーワードアナライザはこれをしませんが、クエリパーサは... – yura

1

category:"Mouse Pad" 

クエリ構文は、すでにこれを行う方法を提供します。引用はフレーズの引用です。括弧は何か異なる意味です。必要に応じて独自のクエリパーサを記述できますが、推奨しません。

関連する問題