Java 为什么“abc”术语的结果不包括在“ab”术语的结果中?
我正在使用Solr suggester为我们的系统提供自动完成功能。 但问题是: 你输入ab,你会得到以ab开头的制造商。你输入abc,你会得到新的结果。 但是问题是abc的结果是ab结果的子集,那么为什么我不能在ab的结果中得到abc的结果呢 我试图做的是启动Lucene PrefixQuery:Java 为什么“abc”术语的结果不包括在“ab”术语的结果中?,java,solr,lucene,Java,Solr,Lucene,我正在使用Solr suggester为我们的系统提供自动完成功能。 但问题是: 你输入ab,你会得到以ab开头的制造商。你输入abc,你会得到新的结果。 但是问题是abc的结果是ab结果的子集,那么为什么我不能在ab的结果中得到abc的结果呢 我试图做的是启动Lucene PrefixQuery: Term term = new Term("man", token); PrefixQuery prefixQuery = new PrefixQuery(term); 但这当然是
Term term = new Term("man", token);
PrefixQuery prefixQuery = new PrefixQuery(term);
但这当然是错误的,因为它将得到man属性以ab开头的文档。例如,我将得到10个man以ab11开头的文档
我需要的是一个不同值的列表
为了执行facetting而触发第二个Solr查询是疯狂的
我试图用Lucene方面模块实现这一点,但不幸的是,它与分类法和分类法一起工作
就个人而言,我对结果很满意,但很难说服管理层 您还没有提供任何有关建议者配置的信息,因此很难向您提供任何信息,但abc的建议者结果必然是这些ab的子集,这不是一个安全的假设。如果您只返回有限数量的结果,或由相似性阈值限制的结果,只返回更流行的结果等。abc的结果可能与ab上搜索的其他可用结果相比相关性显著降低,并且可能根本不会出现。