繁体   English   中英

带有匹配词组(精确搜索)子句的Elasticsearch Java API Boost查询

[英]Elasticsearch Java API Boost query with Match Phrase (Exact Search) Clause

我的最终目标是对输入的短语进行精确搜索(例如:测试类型搜索),如果说出准确的短语与我要查找的列匹配,则提高结果。

我正在为此使用Elasticsearch Java API。 请找到以下代码,

QueryBuilder queryBuilder = QueryBuilders.matchPhraseQuery("_all", "Test Type Search");

SearchResponse response = client.prepareSearch("index_name")
                        .setQuery(queryBuilder)
                        .setFrom(1)
                        .setSize(10)
                        .execute()
                        .actionGet();

我想知道如何在包含此确切值的索引中增强字段。

上面的响应还返回具有以下值的响应:“测试代码用于此搜索类型”,而并非完全是“测试类型搜索”。 我该如何纠正?

有什么方法可以找到正确的Elasticsearch Java API文档(2.0.0)?

从您的问题看来,您只想匹配整个术语(值),即“测试类型搜索”。
为此,您可以使用QueryBuilders.termQuery(field,value) ,对于匹配术语,请使用QueryBuilders.matchQuery(field,value)
其中field:您要查询的文档字段value:您要完全匹配的内容。

请参阅ES Doc
请参阅ES Java API 文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM