【发布时间】:2021-02-22 10:03:23
【问题描述】:
我在 5.11.5 版本中与 Apache Lucene 5.5.5 一起使用 Hibernate Search。在我的示例中,我使用StopFilterFactory 和StopAnalyzer.ENGLISH_STOP_WORDS_SET 中定义的默认停用词集(例如“this”、“will”、“be”...)。
现在我索引了三个音乐歌曲标题:“我会活下来”、“我们会摇滚你”、“这将是”
我的搜索查询是“摇滚会让我活下来”。所以我发现“我会生存”和“我们会摇滚你”,而不是“这将是”,因为这首歌完全由停用词组成。如果我搜索“this will be”,那么我什么也找不到。
现在我需要对这些歌曲进行“后备”搜索:当且仅当歌曲名称完全由停用词组成时,如果所有单词都包含在我的搜索字符串中,我想找到它们。所以搜索“I will be a fireman”不会找到“this will be”,但搜索“I will be like this”会找到“this will be”。
你知道我是怎么做到的吗?
【问题讨论】: