如何使用Lucene以有意义的方式删除停止词

如何使用Lucene以有意义的方式删除停止词,lucene,stop-words,text-analysis,Lucene,Stop Words,Text Analysis,我正在使用org.apache.lucene.analyzer.en.EnglishAnalyzer删除停止词和词干。然而,当我有一个像“心脏病”这样的短语时,分析器所做的是从短语中间删除“和”,这将使它变成一个无意义的短语(输出为“心脏病”)。我如何处理此问题并仅在必要时删除停止词?仅在必要时?这是什么意思?你指的是什么输出?停止词会被删除,因为它们不是有意义的搜索词,而分析通常只会影响文本的索引形式。它不应该影响搜索结果中返回的存储文本。如果你看一下我在帖子中的示例,你会知道我所说的“如果有

我正在使用
org.apache.lucene.analyzer.en.EnglishAnalyzer
删除停止词和词干。然而,当我有一个像“心脏病”这样的短语时,分析器所做的是从短语中间删除“和”,这将使它变成一个无意义的短语(输出为“心脏病”)。我如何处理此问题并仅在必要时删除停止词?

仅在必要时?这是什么意思?你指的是什么输出?停止词会被删除,因为它们不是有意义的搜索词,而分析通常只会影响文本的索引形式。它不应该影响搜索结果中返回的存储文本。如果你看一下我在帖子中的示例,你会知道我所说的“如果有必要”是什么意思。我读了,不,仍然不知道。“和”是一个停止词,我认为从这个短语中删除它一点也不奇怪。为什么它不被删除?“心脏病”是一个单一的短语,删除“和”使它成为一个毫无意义的短语!!但这是分析过的形式。同样,它不应该影响存储的版本(例如,从
indexsearch.doc(int)
返回)。分析结果不应该是一个完整的英语句子。这是为了提供一系列对搜索有用的术语。举个例子:“这是一个供你阅读的例句”。在词干和停止单词删除之后,我相信它会变成:“examplsentenc your perus”