最近,我正在研究如何使用Solr进行存储和索引。我想做facet.prefix搜索。使用空格标记器,“你在哪里”将被分成三个单词并编入索引。如果我搜索facet.prefix =“where are”,则不会返回任何结果。
我google并发现NGramFilterFactory可以帮助我。但是当我应用这个过滤器工厂时,我发现结果是“w,h,e,...,wh,..”,它逐字逐句地分割,而不是用标记词。
我使用参数maxGramSize和minGramSize,设置为1和3. NGramFilterFactory是否正常工作?我应该添加一些其他参数吗?还有其他一些过滤工厂可以帮助我吗?
谢谢!
答案 0 :(得分:1)
Facet只应用于非标记化字段,如字符串。如果你想要显示“什么是”的结果,那么对该字段(或copyField指令)根本不使用任何标记器。我想你想使用facet.prefix进行自动完成。你可以这样做,look here。
用于ngramtokenizer check this out。