SOLR-搜索并基于部分搜索带来结果

6l7fqoea  于 9个月前  发布在  Solr
关注(0)|答案(2)|浏览(112)

我有一个产品的旧代码和新代码。旧的产品代码会像0000000000988340和我使用hybris + solr搜索。
我已经为Solr索引设置了“oldproductcode”属性,当我在搜索框中搜索00000000000988340时,我得到了结果。但我想要的是只使用988340搜索,而不是使用前导零,我希望显示结果,我怎么能在Solr设置中做到这一点。
我看到所有这些选项,我没有尝试过的搜索引擎,它似乎不工作,请建议使用以下选项,我如何才能使这一工作


的数据

hiz5n14c

hiz5n14c1#

这种方法可能有效(使用EdgeNGramTokenizerFactory):
在与Solr服务器关联的schema.xml文件中,添加以下新fieldType:

<fieldType name="text_edge_ngram" class="solr.TextField" positionIncrementGap="100">
  <analyzer type="index">
    <tokenizer class="solr.EdgeNGramTokenizerFactory" minGramSize="1" maxGramSize="25"/>
  </analyzer>
  <analyzer type="query">
    <tokenizer class="solr.KeywordTokenizerFactory"/>
  </analyzer>
</fieldType>

字符串
然后将此自定义分析器应用于“oldproductcode”字段:

<field name="oldproductcode" type="text_edge_ngram" indexed="true" stored="true"/>


我希望这能帮助

xeufq47z

xeufq47z2#

我只是启用了下面的选项与前缀,它开始工作.感谢所有的帮助.


的数据

相关问题