弹性搜索 - 如果通过检查数组是否为空来判断条件

Elastic Search - if condition by checking if array is not empty

我刚刚在我的数据库上实现了 ELASTIC SEARCH,对此我还是很陌生。我必须编写必须-

的查询
  1. 搜索数据库字段 "name" 用户输入的搜索文本。

  2. 用户还可以对搜索文本应用过滤器,例如国家/地区数组或颜色数组或任何标签数组

  3. 它必须检查是否应用了任何过滤器,然后才将其与数据库中的相应字段相匹配。

mongo 中的查询如下:

aggregate.match({ '$text': { '$search': searchString } });
if(portarray){
aggregate.match({ 'Port' : { $in:portArray } });
}
if(countriesArray){
 aggregate.match({ 'country' : { $in: countriesArray } });
}

请帮我解决这个问题。

我建议您阅读 Elasticsearch 官方教程,例如:this artice

例如,回答你的第一个问题,你应该查询:

GET /yourIndexName/_search
 {
   "query": 
      { "match": 
         { "Name": "Pablo Escobar" } 
      }
 }