有可能在solr中进行这种查询吗

有可能在solr中进行这种查询吗,solr,Solr,我得到了一个solr类型的字符串列,它的值有“JOHN JACKON”、“JAKE SMITH”、“JOHNATAN JAMESON” 有没有可能告诉索尔,当我输入J时,第一个得到的记录是J的次数比另一个多 您可以使用solr.EdgeNGramFilterFactory。您可以将minGramSize设置为1 此FilterFactory在查询期间匹配索引中特定术语的前缀子字符串(或后缀子字符串,如果side=“back”),非常有用 参考: 所以对于你上面的例子 对于JOHN JACKSON

我得到了一个solr类型的字符串列,它的值有“JOHN JACKON”、“JAKE SMITH”、“JOHNATAN JAMESON”


有没有可能告诉索尔,当我输入J时,第一个得到的记录是J的次数比另一个多

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

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

参考:

所以对于你上面的例子

对于JOHN JACKSON,它将存储:

J、 JO,JOH,JOHN,J,JA,JAC,JACK,JACKS,JACKSON

杰克·史密斯:

j、 是的,杰克,杰克,S,SM,SMI,SMIT,史密斯

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