我想索引SOLR中的电子邮件ID,但不知何故它不起作用 我的搜索有两部分。自动建议和文本搜索 当我使用
时,自动建议工作正常<analyzer type="index">
<tokenizer class="solr.LowerCaseTokenizerFactory"/>
<filter class="solr.EdgeNGramFilterFactory" minGramSize="1" maxGramSize="15" side="front"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.LowerCaseTokenizerFactory"/>
</analyzer>
但是当我搜索唯一的电子邮件ID时,它会提供多个结果。对于例如sameer.rao@xyz.com
是条目
输入:sameer.rao
输出:
sameer1.rao
sameer.rao1
sameer.rao
请帮忙!
我尝试过使用标准的tokenizer,但它只搜索由分隔符分隔的短语。我还想实现自动建议,它将返回部分搜索结果。 样品: ankarao.ka
必须返回ankarao.kale ankarao.kate 我使用的字段名称是
然后我将电子邮件ID复制到其余字段。字段类型的描述如下。
答案 0 :(得分:0)
答案 1 :(得分:-1)
我认为这是由于你使用的EdgeNGram令牌化器,它会阻止你的索引结果进行更模糊的搜索,就像你得到的类似结果一样。您是否尝试过使用常规标准标记器?像这样:
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
</analyzer>