ReactiveSearch 中的静态过滤器

Static filters in ReactiveSearch

在我的应用程序中,我使用了优秀的 ReactiveSearch

有些常量需要在每次查询时进行过滤。例如,传递一个始终被过滤的 id 列表,然后在顶部应用用户的过滤。

有一个 ,但这更侧重于删除字段。

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

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

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

这将过滤掉所有匹配 The Last Guardianoriginal_title.raw 字段。参见 demo