Search 如何在SOLR中存储Pincode文件,如何根据Pincode检索数据?
我有一个Pincode字段,如“389151”,我想以下面的格式存储它 pincode_分析:[ "389151", "38915", "3891", "389"Search 如何在SOLR中存储Pincode文件,如何根据Pincode检索数据?,search,solr,lucene,Search,Solr,Lucene,我有一个Pincode字段,如“389151”,我想以下面的格式存储它 pincode_分析:[ "389151", "38915", "3891", "389" ]您可以将Pincode字段复制到Pincode_分析字段,该字段使用类似以下字段类型定义: <fieldType name="text_general_edge_ngram" class="solr.TextField" positionIncrementGap="100"> <analyzer type=
]您可以将Pincode字段复制到Pincode_分析字段,该字段使用类似以下字段类型定义:
<fieldType name="text_general_edge_ngram" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory" />
<filter class="solr.LowerCaseFilterFactory" />
<filter class="solr.EdgeNGramFilterFactory" minGramSize="3" maxGramSize="6" side="front" />
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory" />
<filter class="solr.LowerCaseFilterFactory" />
</analyzer>
</fieldType>
这似乎很好。但是我怎样才能根据它检索数据呢?例如,如果我想要pincode“389001”的产品,那么我也想要这些结果,因为它们类似于pincode。对于这个pincode,我想要精确匹配,首先是pincode,然后是38900,然后是3890,最后是389。这怎么可能呢?我添加了…
,它也会在查询时标记化。我认为您可以使用q=389151*
进行搜索,它将返回如上所述的结果。您的代码中有一些错误。你不能把二合一加进去,你应该加进去,我试着这样做,但不起作用。事实上,我使用了analyzer工具,它显示正确。但是数据并没有像我想要的那样存储。但是得到了相应的结果