如何为弹性搜索查询提供一些条件

时间:2016-11-29 13:13:12

标签: javascript node.js elasticsearch

我有一个NodeJS应用程序,它使用mangoosastic api进行Elasticsearch。现在我需要一种方法将条件(isDeleted == false)添加到指定的查询(query:req.query.q)。

这是我的代码

<ComplexType Name="Location" OpenType="true">
  <Property Name="Address" Type="Edm.String" Nullable="false"/>
  <Property Name="City" Type="Microsoft.OData.SampleService.Models.TripPin.City" Nullable="false"/>
</ComplexType>
...
<EntityType Name="Person" OpenType="true">
  <Property Name="AddressInfo" Type="Collection(Microsoft.OData.SampleService.Models.TripPin.Location)"/>
...
</EntityType>

我该怎么做?

1 个答案:

答案 0 :(得分:0)

您可以使用过滤来过滤数据。查看插件网站的example。以下示例也是您的答案。

var geoQuery = {query_string: {query: req.query.q}};

var myFilter = {
  term: {
    isDeleted: true
  }
};

User.search(geoQuery, {filter: myFilter}, function(err, res) { /* ... */ })