【问题标题】:termQuery not returning resultstermQuery 不返回结果
【发布时间】:2022-10-13 17:09:58
【问题描述】:

当我使用 QueryBuilders.matchQuery 方法时,包含给定值的所有匹配项都会返回,但我只想返回一个确切的值。我搜索它可以通过使用 termQuery 方法而不是 matchQuery 来解决,但它什么也没返回。我怎样才能只返回完全匹配的字符串?

val sourceBuilder = SearchSourceBuilder() sourceBuilder.query(QueryBuilders.matchQuery("external_reference", id))

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

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

【问题讨论】:

    标签: java elasticsearch


    【解决方案1】:

    term 查询不分析,需要在.keyword 字段上使用需要使用

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

    【讨论】:

      猜你喜欢
      • 2019-06-18
      • 2020-04-05
      • 2018-03-19
      • 2011-07-17
      • 2015-09-29
      • 2013-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多