Searchkit / Elasticsearch-找到一种互相过滤MenuFilter的方法

时间:2019-03-06 17:59:06

标签: elasticsearch searchkit

我正在使用SearchKit(http://www.searchkit.co/)创建具有多面搜索的Elasticsearch搜索引擎。

让我们考虑一下Elasticsearch中的那些数据:

{
  "name" : "Zach",
  "car" : [
    {
      "make" : "Saturn",
      "model" : "SL"
    },
    {
      "make" : "Subaru",
      "model" : "Imprezza"
    }
  ]
}
{
  "name" : "Bob",
  "car" : [
    {
      "make" : "Saturn",
      "model" : "Imprezza"
    }
  ]
}

其中car是一个嵌套对象,而“ make” /“ model”是未索引的关键字。

我在Searchkit中设置了两个MenuFilter组件, 对于制造商和模型,都是这样的:

<MenuFilter id="make" listComponent={Select} title="make" 
field="car.make" fieldOptions={{"type":"nested", options: 
{"path":"car"}}} orderKey="_term" />

<MenuFilter id="model" listComponent={Select} title="model" 
field="car.model" fieldOptions={{"type":"nested", options: 
{"path":"car"}}} orderKey="_term" />

过滤器运行良好,但它们彼此之间无法通信,我想在两个方面之间建立动态关系,如果选择了“制造”,则只能得到与该“制造”相关的模型。 / p>

我看到Menu组件具有“ include”和“ bucketsTransform”道具, 但我不确定应如何将模型字段设置为已经从选择中过滤出结果。

注意:我可以使用“层次菜单”组件轻松完成此操作,但是我不希望这样做,因为该组件呈现为类别树,并且我希望有两个不同的选择框来逐步执行-步骤make =>模型搜索。

0 个答案:

没有答案