を動作しない:のSolr - KeywordTokenizerFactory - 複数の単語と完全に一致するが、私はSolrの中に次の型の定義を行った
<fieldType name="text_phrase" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.KeywordTokenizerFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
</analyzer>
</fieldType>
それがそのままインデックス値(なしトークン化)する必要があります。
「スキニージーンズ」の値をインデックスに追加します。
私は、次の検索クエリを(URLは読書のためにデコード)を実行すると、私が得る全く結果がありません:
http://myvm:8983/solr/mycore/select?q=*:*&fq=name:("skinny jeans")&wt=json&indent=true&debugQuery=true
あなたはURLはすべてのために検索して見ることができます(*:*)フィルタクエリのためにと正確な値 "スキニージーンズ"。
私はその後、私のインデックスに「ジーンズ」の値を追加し、
&fq=name:("jeans")
と同様のクエリを実行すると、私は、「ジーンズ」の要素を見つける行う。
したがって、1つの単語では動作しますが、複数の単語では動作しません。これはなぜでしょうか?私は結局、正確な値を探しています。 KeywordTokenizerFactoryが何か奇妙なことをしていると思われます。誰もそのような基本的な設定から結果が返されない理由をアドバイスできますか?あなたはそのまま言葉を続ける索引付けのためKeywordTokenizerFactory
を使用しているためです
おかげで、
ああ私の質問では、「スキニージーンズ」というフレーズを二重引用符で括っても、実際にはフレーズとしてではなく個々のトークンとして照会されると言っていますか? – mils
はい... tokesがそのように作成されていないため.... –
WhitespaceTokenizerFactoryとShingleFilterFactoryをクエリ側で使用した場合、私は後になって同様の結果を得ることができますか? – mils