0
我已经得到Solr中列 - 类型字符串,它是一个像“约翰同时杰克逊值,“杰克SMITH”,'JOHNATAN詹姆逊是否有可能作出这种查询的Solr中
IS它当我键入J获得第一个这样的记录时,有可能告诉solr,这个记录比其他记录多J次。
我已经得到Solr中列 - 类型字符串,它是一个像“约翰同时杰克逊值,“杰克SMITH”,'JOHNATAN詹姆逊是否有可能作出这种查询的Solr中
IS它当我键入J获得第一个这样的记录时,有可能告诉solr,这个记录比其他记录多J次。
您可以使用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是索引中的两倍。