1

Solr 検索で問題に直面しています。私のスキーマは次のとおりです

<fieldType name="c_text" class="solr.TextField">
<analyzer type="index">
    <tokenizer class="solr.WhitespaceTokenizerFactory"/>
    <filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
    <tokenizer class="solr.WhitespaceTokenizerFactory"/>
    <filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
<field name="parentId" type="string" indexed="true" stored="true"/>
<field name="data_s" type="c_text" indexed="true" stored="true"/>
<field name="email" type="string" indexed="true" stored="true"/>
<field name="receivedDate" type="tdate" indexed="true" stored="true"/>

メール欄で検索しています。
Tarun Nagpal <tarunn@abc.com>の形式のデータが含まれています。

//This is working fine
email:*tarun*

しかし、以下は結果を与えていません

email:"Tarun Nagpal"

メール欄の検索のようなフレーズを検索しない理由を教えてください。data_s フィールドの検索は正常に機能しています。

4

1 に答える 1

3

トークンを検索するため、テキスト フィールド タイプを使用する必要があります。

具体的にはTarun Nagpal <tarunn@abc.com>

文字フィールドは、==のような等価クエリやワイルドカード クエリ*un Nagp**unn@abc.com>さらにはより風変わりなクエリに応答します。

テキストフィールドは、トークンtarunnagpaltarunn abcおよびに応答しcomます。

N-gram および Soundex を実装する他のフィールド タイプでは、スペルを修正することもできます。


優れたhttps://stackoverflow.com/a/2119479/604511を参照してください

于 2012-04-28T10:17:43.160 に答える