我想从搜索查询中消除对查询没有意义的单词/短语(我们可以称之为停止短语)。例子:
"How to…"
"我在哪里可以找到…"
"……是什么意思?"
等。
-
在哪里找到/如何计算英语和法语的"常用短语"列表?
-
如何在Solr中实现它(是否有比停词功能更高级的功能?)
我认为你不应该试图完全摆脱这些短语,因为它们揭示了搜索者的意图。你可以尝试通过使用自然语言问答系统(如Ephyra)来利用它们的存在。甚至还有一个旨在将其与Lucene集成的项目。我自己还没用过,但至少可以算一下值得一试。
如果您决定删除它们,那么我认为您需要编写自定义QueryParser来过滤查询,并将进一步的处理委托给您选择的解析器。