Java 如何在弹性搜索中从多个查询(查询1中的x条记录和查询2中的y条记录)中获得有限的结果
我有两个不同的查询,我想从中得到一个组合结果,即查询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
**{ "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)格式。