Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于javaapi的弹性搜索查询_Java_Scala_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch - Fatal编程技术网 elasticsearch,Java,Scala,elasticsearch" /> elasticsearch,Java,Scala,elasticsearch" />

基于javaapi的弹性搜索查询

基于javaapi的弹性搜索查询,java,scala,elasticsearch,Java,Scala,elasticsearch,当发现一个与值匹配的对象返回整个嵌套对象时,如何使用代码仅返回匹配对象 private def queryBuilder( field: String, value: String, parent: Option[String] = None ): BoolQueryBuilder = { val boolQuery: BoolQueryBuilder = QueryBuilders.boolQuery() parent match {

当发现一个与值匹配的对象返回整个嵌套对象时,如何使用代码仅返回匹配对象

  private def queryBuilder(
      field: String,
      value: String,
      parent: Option[String] = None
  ): BoolQueryBuilder = {
    val boolQuery: BoolQueryBuilder = QueryBuilders.boolQuery()
    parent match {
      case Some(parentName) =>
        boolQuery.filter(
          QueryBuilders
            .nestedQuery(
              parentName,
              QueryBuilders
                .boolQuery()
                .must(QueryBuilders.matchQuery(field, value)),
              ScoreMode.None
            )
        )
      case None => boolQuery.must(QueryBuilders.matchQuery(field, value))
    }
  }

为了只返回匹配的嵌套文档,您可以添加到嵌套查询中

例如

{
  "query": {
    "nested": {
      "path": "nested_field",
      "query": {
        "match": { "nested_field.field1": "value_to_match" }
      },
      "inner_hits": {} 
    }
  }
}
作为响应,您将找到
内部\u hits
部分,其中仅包含匹配的嵌套文档