如何在Algolia中搜索数组

时间:2018-07-18 07:44:49

标签: arrays algolia

我已经尝试过,但是没有找到解决方法。

这是我数据库中有一个数组的示例:

{
 Users:{
    {
    "name":"User1",
    "interest":["cats"]
    },
    {
    "name":"User2",
    "interest":["dogs"]
    },
    {
    "name":"User3",
    "interest":["bird"]
    }
  }
}

我要搜索所有用户。例如,兴趣=猫或狗或鸟。

我阅读了Algolia文档,并且具有过滤器功能,例如:“ interest:cats或interest:dogs”-但这不是程序性的。如何使其具有程序性?

我的第二个问题是当我写猫和狗时,结果为空值,但是当我写猫 s 和dog s (复数,例如数据库中的值),结果为true。我该如何解决?

谢谢

1 个答案:

答案 0 :(得分:1)

我不确定您使用程序化编程是什么意思,对不起,我将跳过这一部分。

此处的搜索有两个方面,可能会让您感到困惑。您可以按关键字或过滤器进行搜索。

按关键字搜索是指您键入cats或什至catcast(有错字)的情况。 Algolia将返回与您键入的内容匹配的所有记录。您可以通过索引设置的searchableAttributes定义哪些字段应可搜索。您的情况应该是searchableAttributes: ['interest']

除关键字搜索外,还通过过滤器搜索。那时,您只需要与特定过滤器值完全匹配的结果。您首先必须使用interestattributesForFaceting: ['interest']定义为构面,然后才能使用interest:cats or interest:dogs语法。请注意,对于过滤器,该值必须完全按保存时的原样写入(即,没有输入错误)。

希望有帮助,