elasticsearch termQuery未返回结果

p8h8hvxi  于 2022-11-02  发布在  ElasticSearch
关注(0)|答案(1)|浏览(161)

当我使用QueryBuilders.matchQuery方法时,所有包含给定值的匹配项都会返回,但我只想返回一个精确的值。我搜索到它可以通过使用termQuery方法而不是matchQuery来解析,但它什么也没有返回。我如何才能只返回精确匹配的字符串呢?
瓦尔的结果是:查询的结果是“外部引用”。

val searchRequest = SearchRequest()
        searchRequest.indices(elasticIndex)
        searchRequest.source(sourceBuilder)

        var searchResponse: SearchResponse?
        searchResponse = esClient.search(searchRequest, RequestOptions.DEFAULT)
s5a0g9ez

s5a0g9ez1#

如果你的Elasticsearch索引Map是由Elasticsearch生成的,而不是在新的Elasticsearch版本中,每个text字段也会有.keyword字段,那么你需要使用

sourceBuilder.query(QueryBuilders.termQuery("external_reference.keyword", id))

相关问题