如何在liferay中使用带停用词的短语查询

问题描述 投票:1回答:1

我和ElasticSearch一起使用Liferay 7.1,我想做的就是搜索(例子):“这是一个测试”。

但在这种情况下,“是”和“a”是停用词,它们会被过滤掉,因此我得到了我不想要的结果:“这个测试摇滚”。

我正在使用这样的BooleanQuery:

BooleanQuery keywordQuery = new BooleanQueryImpl();
keywordQuery.addTerms(KEYWORDS, keyword, false);

在这种情况下的关键字是“这是一个测试”。

任何人都可以告诉我如何使BooleanQuery不过滤掉停用词?

最好的祝福,

丹尼尔

elasticsearch search liferay liferay-7
1个回答
1
投票

Stop-Words是索引时分析阶段的概念。所以你的索引不包含“是”和“a”。因此,在查询时没有使用停用词的参数。

您可以做的是使用不同的搜索索引属性,其中包含带停用词的完整内容。这取决于您的配置,可能已经是没有停用词的属性,或者您需要使用Index Post-Proccessor添加一个属性或修改弹性映射配置。

请检查您的文档结构(例如,使用弹性HQ)以检查停用词的属性。

© www.soinside.com 2019 - 2024. All rights reserved.