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

时间:2019-03-02 22:24:17

标签: elasticsearch search liferay liferay-7

我将Liferay 7.1与ElasticSearch一起使用,我要做的就是搜索(EXAMPLE):“这是一个测试”。

但是在这种情况下,“ is”和“ a”是停用词,它们被过滤掉了,因此我得到了我不想要的结果,例如:“此测试很困难”。

我正在使用像这样的BooleanQuery:

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

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

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

最诚挚的问候,

丹尼尔

1 个答案:

答案 0 :(得分:1)

停词是建立索引时分析阶段的概念。因此,您的索引不包含“ is”和“ a”。因此,查询时没有参数可以使用停用词。

您可以做的是使用另一个搜索索引属性,其中包含带有停用词的全部内容。这取决于您的配置,可能已经是没有停用词的属性,或者您需要使用索引后处理器添加一个属性或修改弹性映射配置。

请检查您的文档结构(例如具有弹性总部)以检查停用词的属性。