elasticsearch,Java,elasticsearch" /> elasticsearch,Java,elasticsearch" />

Java 如何在弹性搜索中从多个查询(查询1中的x条记录和查询2中的y条记录)中获得有限的结果

Java 如何在弹性搜索中从多个查询(查询1中的x条记录和查询2中的y条记录)中获得有限的结果,java,elasticsearch,Java,elasticsearch,我有两个不同的查询,我想从中得到一个组合结果,即查询1中的x个记录数和查询2中的y个记录数。 我该怎么做 目前我正在使用以下查询: **{ "bool" : { "should" : [ { "multi_match" : { "query" : "indea", "fields" : [ "admin^1.0", "city^1.0", "country^1.0" ], "typ

我有两个不同的查询,我想从中得到一个组合结果,即查询1中的x个记录数和查询2中的y个记录数。 我该怎么做

目前我正在使用以下查询:

 **{ "bool" : {
  "should" : [
   {
    "multi_match" : {
      "query" : "indea",
      "fields" : [
        "admin^1.0",
        "city^1.0",
        "country^1.0"
      ],
      "type" : "best_fields",
      "operator" : "OR",
      "slop" : 0,
      "fuzziness" : "2",
      "prefix_length" : 0,
      "max_expansions" : 50,
      "zero_terms_query" : "NONE",
      "auto_generate_synonyms_phrase_query" : true,
      "fuzzy_transpositions" : true,
      "boost" : 1.0
     }
    },
   {
    "multi_match" : {
      "query" : "Maharashtra",
      "fields" : [
        "admin^1.0"
      ],
      "type" : "best_fields",
      "operator" : "OR",
      "slop" : 0,
      "prefix_length" : 0,
      "max_expansions" : 50,
      "zero_terms_query" : "NONE",
      "auto_generate_synonyms_phrase_query" : true,
      "fuzzy_transpositions" : true,
      "boost" : 1.0
      }
   }
 ],
 "adjust_pure_negative" : true,
 "boost" : 1.0
  }
}**

看看这个答案-hay@soumitragoswami谢谢你的建议,但我有相同的索引,我想根据不同的查询得到结果。你可以在multisearch中对同一索引使用不同的查询,因此在你的示例中,index1和index2是相同的,结果将为同一索引上的两个查询提供一个命中数组。但要注意格式化,因为msearch使用换行符分隔的JSON(NDJSON)格式。