1

Solr スキーマにキーワード フィールドがあります。

<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クエリ パーサーが機能しません

4

2 に答える 2

1

次のクエリを入力します。

category:"Mouse Pad"

クエリ構文は、これを行う方法を既に提供しています。引用符はフレーズ用です。括弧は別のものを意味します。必要に応じて独自のクエリ パーサーを作成することもできますが、お勧めしません。

于 2012-04-16T20:11:50.873 に答える
0

TermQParserPluginを使用できます:

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

分析は実行されないことに注意してください。これは、フィールドの内部表現が「マウス パッド」(タイトル ケース付き) の場合にのみ機能します。

編集(2012-04-17):

それでも分析を実行したい場合は、前にバックスラッシュを追加してスペースをエスケープするだけです。

{!lucene}category:マウス\パッド

于 2012-04-16T20:11:38.330 に答える