面对问题,而在字符串类型字段搜索(Facing issue while searching on s

2019-07-29 04:23发布

我现在面临的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"/>

我正在寻找在电子邮件领域。 其中包含以下格式的数据
塔伦Nagpal <tarunn@abc.com>

//This is working fine
email:*tarun*

但是,以下是给没有结果

email:"Tarun Nagpal"

你可以请大家帮忙,为什么它不喜欢在电子邮件字段搜索搜索短语。 在data_s现场搜寻工作正常。

Answer 1:

你需要你既然打算要搜索的标记使用的文本字段类型:

为具体Tarun Nagpal <tarunn@abc.com>

字符串领域会回答==平等和通配符查询像*un Nagp**unn@abc.com>更明显异国查询。

文本字段将回答令牌tarunnagpaltarunn abccom

其他字段类型实现的N-gram和探测甚至可以纠正拼写。


看到优秀的https://stackoverflow.com/a/2119479/604511



文章来源: Facing issue while searching on string type field
标签: solr solrj