如何在 Algolia 中搜索数组
How can I search array in Algolia
我已经尝试过,但没有找到解决方案。
这是我数据库中数组的示例:
{
Users:{
{
"name":"User1",
"interest":["cats"]
},
{
"name":"User2",
"interest":["dogs"]
},
{
"name":"User3",
"interest":["bird"]
}
}
}
我想搜索所有用户。例如,兴趣 = 猫或狗或鸟。
我阅读了 algolia 文档并且有过滤功能:"interest:cats or interest:dogs" - 但这不是程序化的。我怎样才能让它程序化?
我的第二个问题是当我写猫和狗时,结果是空值,但是当我写猫s和狗s(复数,如数据库中的值)结果为真。我该如何解决这个问题?
谢谢,
我不确定你所说的程序化是什么意思,所以我要跳过这部分,抱歉。
这里有两个搜索方面可能会让您感到困惑。您可以按关键字或过滤器搜索。
当您键入 cats
,甚至 cat
或 cast
(有错别字)时,按关键字搜索。 Algolia 将 return 所有与您输入的内容相匹配的记录。您可以通过索引设置的 searchableAttributes
定义应使哪些字段可搜索。在您的情况下,它将是 searchableAttributes: ['interest']
.
除关键字搜索外,还可以通过过滤器进行搜索。那时您只需要与特定过滤器值完全匹配的结果。您首先必须使用 attributesForFaceting: ['interest']
将 interest
定义为构面,然后您可以使用 interest:cats or interest:dogs
语法。请注意,对于过滤器,该值必须与保存时完全相同(即没有错字容差)。
希望对您有所帮助,
我已经尝试过,但没有找到解决方案。
这是我数据库中数组的示例:
{
Users:{
{
"name":"User1",
"interest":["cats"]
},
{
"name":"User2",
"interest":["dogs"]
},
{
"name":"User3",
"interest":["bird"]
}
}
}
我想搜索所有用户。例如,兴趣 = 猫或狗或鸟。
我阅读了 algolia 文档并且有过滤功能:"interest:cats or interest:dogs" - 但这不是程序化的。我怎样才能让它程序化?
我的第二个问题是当我写猫和狗时,结果是空值,但是当我写猫s和狗s(复数,如数据库中的值)结果为真。我该如何解决这个问题?
谢谢,
我不确定你所说的程序化是什么意思,所以我要跳过这部分,抱歉。
这里有两个搜索方面可能会让您感到困惑。您可以按关键字或过滤器搜索。
当您键入 cats
,甚至 cat
或 cast
(有错别字)时,按关键字搜索。 Algolia 将 return 所有与您输入的内容相匹配的记录。您可以通过索引设置的 searchableAttributes
定义应使哪些字段可搜索。在您的情况下,它将是 searchableAttributes: ['interest']
.
除关键字搜索外,还可以通过过滤器进行搜索。那时您只需要与特定过滤器值完全匹配的结果。您首先必须使用 attributesForFaceting: ['interest']
将 interest
定义为构面,然后您可以使用 interest:cats or interest:dogs
语法。请注意,对于过滤器,该值必须与保存时完全相同(即没有错字容差)。
希望对您有所帮助,