如何在没有停止词的情况下对solr进行排序
我试图通过忽略stopwords的字段对solr查询进行排序,但似乎找不到这样做的方法。例如,我希望结果按如下方式排序:如何在没有停止词的情况下对solr进行排序,solr,stop-words,Solr,Stop Words,我试图通过忽略stopwords的字段对solr查询进行排序,但似乎找不到这样做的方法。例如,我希望结果按如下方式排序: 查理 狐狸 直升机 这可能吗?现在,字段类型的定义如下: 添加的字段如下所示: 好像其他人也会这么做?或者不使用stopwords进行排序是不允许的?您需要实际将stopwords过滤器添加到解析器链中。将要索引的文本粘贴到Solr Admin中的字段分析器中,您将看到Fox中的A没有被删除 使用Eric提到的分析器,我确定停止词过滤器只捕获匹配的确切单词,而不是
- 查理
- 狐狸
- 直升机
添加的字段如下所示:
好像其他人也会这么做?或者不使用stopwords进行排序是不允许的?您需要实际将stopwords过滤器添加到解析器链中。将要索引的文本粘贴到Solr Admin中的字段分析器中,您将看到Fox中的A没有被删除 使用Eric提到的分析器,我确定停止词过滤器只捕获匹配的确切单词,而不是句子的片段。所以,如果有“THE”的标记,它会将其删除。但是,如果有“鱼”的标记,它就不会碰它
那么,有没有办法让这一切顺利进行?我只想在字段上排序,忽略任何停止词。但结果是一堆句子(或书名)。关键字TokenizerFactory不会将内容分解为单独的片段,因此StopFilterFactory尝试将标记(整个内容)与停止词列表匹配,但未找到匹配项。要从索引中取出停止字,需要使用像WhitespaceTokenizerFactory这样的标记器,但不能对标记化字段进行排序。因此,我能想到的唯一方法是:
通常,您要排序(而不是搜索)的唯一停止词是“A”、“AN”、“the”。我不太擅长reg表达式,但我相信这对许多人来说是微不足道的。请修复xml格式。我有stopword筛选器,但它没有出现在SO问题中。我已经修好了。我也没有意识到有一个现场分析仪。我可以使用它进行更快的调试,但我仍然有这个问题。。。我能想到的唯一一件事是stopwords.txt文件需要在其他地方?stopwords.txt应该在您的/conf/dir中