2013-03-25 71 views
0

我已经得到Solr中列 - 类型字符串,它是一个像“约翰同时杰克逊值,“杰克SMITH”,'JOHNATAN詹姆逊是否有可能作出这种查询的Solr中

IS它当我键入J获得第一个这样的记录时,有可能告诉solr,这个记录比其他记录多J次。

回答

0

您可以使用solr.EdgeNGramFilterFactory。您可以将minGramSize设置为1.

此FilterFactory在查询时在索引中匹配特定术语的前缀子字符串(或后缀子字符串,如果side =“back”)非常有用。

参考:http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.EdgeNGramFilterFactory

因此,对于上述的例子,

约翰JACKSON,它将存储:

Ĵ,JO,JOH,JOHN,J,JA,江淮,千斤顶,千斤顶,JACKSON

和杰克SMITH:

Ĵ,JA,JAK,杰克,S,SM,SMI,SMIT SMITH

现在当有人搜索J时,第一个文件(john jackson)会得到更高的分数,因为J是索引中的两倍。

相关问题