我正在使用 Solr 建议器为我们的系统提供自动完成功能。
但是我们遇到的问题是:
你输入"ab" ,你会得到以"ab"开头的制造商。你输入"abc",你得到了新的结果。
但问题是"abc"的结果是"ab"结果的一个子集,那么为什么我在 "ab" 的结果中没有得到" abc"的结果呢?
我试图做的是触发 Lucene PrefixQuery:
Term term = new Term("man", token);
PrefixQuery prefixQuery = new PrefixQuery(term);
但这当然是错误的,因为它会获取 "man" 属性以"ab"开头的文档。例如,我将获得十个“man”以“ab11”开头的文档。
我需要的是一个不同值的列表。
仅仅为了执行分面而触发第二个 Solr 查询是很疯狂的。
我尝试使用 Lucene-Facet 模块来实现这一点,但不幸的是,它适用于分类和分类。
就个人而言,我对结果很满意,但很难说服管理层!:)