ReactiveSearch中的静态过滤器

时间:2018-08-12 18:33:30

标签: elasticsearch reactivesearch

在我的应用程序中,我使用的是出色的ReactiveSearch

在每个查询中都需要过滤一些常量。例如,传递将始终被过滤的ID列表,然后将用户的过滤应用于顶部。

有一个similar question here,但这更着重于删除字段。

如何传递一组ID数组以针对ElasticSearch中的特定字段进行过滤?我很乐意使用任何骇人听闻的方法,例如制作一个自定义组件来容纳ID,然后用CSS将其隐藏,但是如果有一种更简洁的方法,请告诉我。

1 个答案:

答案 0 :(得分:1)

解决此问题的方法之一是在结果组件中使用道具defaultQuery。例如,ReactiveList支持此道具(docs)。您可以使用它来运行您选择的任何查询,该查询将与其他查询一起应用。例如:

<ReactiveList
  ...
  defaultQuery={() => ({
    bool: {
      must_not: {
        term: {
          "original_title.raw": "The Last Guardian"
        }
      }
    }
  })}
/>

这将过滤掉与original_title.raw匹配的所有The Last Guardian字段。参见demo