如何在 algolia 上连接结果
How to concatenate results on algolia
我希望能够连接数据。
这是一个例子:
[
{
"type": "pen",
"color": "blue",
},
{
"type": "glass",
"color": "red",
},
{
"type": "pen",
"color": "green",
},
{
"type": "glass",
"color": "violet",
},
{
"type": "pen",
"color": "yellow",
},
{
"type": "glass",
"color": "orange",
}
]
然后,如果我搜索笔,我将得到 3 个结果,每种颜色一个结果。
我只想要一个结果。
我尝试使用 distinct,但 algolia distinct 更像是一个过滤器,而不是一个 concat。如果我在属性笔上做一个不同,我会得到一个可能看起来像的结果:
{
"type": "pen",
"color": "blue",
},
我想得到的是:
{
"type": "pen",
"color_list": ["blue", "green", "yellow"]
},
我在 algolia/instant-search 文档中找不到类似的内容,所以我想知道该怎么做。是否有真正的工具可以做到这一点,或者至少有一个可以解决问题的 hacky 解决方案?
谢谢
Algolia 不会为您连接,但通常所做的是让您的记录包含两个信息:
- 这条特定记录代表什么颜色
- 此产品类型还有哪些其他颜色
这导致:
[{
"type": "pen",
"color": "red",
"color_list": ["red", "blue", "green"]
},
{
"type": "pen",
"color": "green",
"color_list": ["red", "blue", "green"]
},
...]
将color
设置为可搜索属性,并使用distinct
去重结果;然后,您可以获得非常相关的搜索结果,例如 "green pen",这将 return 带有 "color": "green"
的笔记录(例如,您将获得颜色正确的产品图片)但是允许您显示所有其他可用颜色的色样。
希望对您有所帮助!
如果您想更具体地详细说明您的用例,请发表评论:)
我希望能够连接数据。 这是一个例子:
[ { "type": "pen", "color": "blue", }, { "type": "glass", "color": "red", }, { "type": "pen", "color": "green", }, { "type": "glass", "color": "violet", }, { "type": "pen", "color": "yellow", }, { "type": "glass", "color": "orange", } ]
然后,如果我搜索笔,我将得到 3 个结果,每种颜色一个结果。 我只想要一个结果。
我尝试使用 distinct,但 algolia distinct 更像是一个过滤器,而不是一个 concat。如果我在属性笔上做一个不同,我会得到一个可能看起来像的结果:
{ "type": "pen", "color": "blue", },
我想得到的是:
{ "type": "pen", "color_list": ["blue", "green", "yellow"] },
我在 algolia/instant-search 文档中找不到类似的内容,所以我想知道该怎么做。是否有真正的工具可以做到这一点,或者至少有一个可以解决问题的 hacky 解决方案?
谢谢
Algolia 不会为您连接,但通常所做的是让您的记录包含两个信息:
- 这条特定记录代表什么颜色
- 此产品类型还有哪些其他颜色
这导致:
[{
"type": "pen",
"color": "red",
"color_list": ["red", "blue", "green"]
},
{
"type": "pen",
"color": "green",
"color_list": ["red", "blue", "green"]
},
...]
将color
设置为可搜索属性,并使用distinct
去重结果;然后,您可以获得非常相关的搜索结果,例如 "green pen",这将 return 带有 "color": "green"
的笔记录(例如,您将获得颜色正确的产品图片)但是允许您显示所有其他可用颜色的色样。
希望对您有所帮助! 如果您想更具体地详细说明您的用例,请发表评论:)