我在aloglia索引中有一些记录基本上是这样的:
Book Title | Book Author
-----------------------------
The Red Dog | Simon McCowell
<br>
The Blue Dog | Unknown
<br>
The Black Dog | Unknown
<br>
The White Dog | Simon McCowell
所以基本上在algolia索引上,我对属性“book author”有不同的设置。因此,如果书籍作者的任何值相同,它将复制结果,因此只有simon McCowell的一个结果将显示。但是,如果有很多书籍的作者是未知的,显然这些书不一定是相同的顺序,所以我不想删除具有属性“书籍作者”的值为“未知”的书籍的结果,有没有一种方法或设置,algolia可以忽略某个属性值的不同设置?
提前致谢!
答案 0 :(得分:1)
无法防止在特定值上进行重复数据删除,但是当distinct属性缺失或null
时,Algolia不会进行重复数据删除。
因此,如果您将示例中的数据格式化为:
[
{
"objectID": "1",
"author": "Simon McCowell",
"title": "The Red Dog"
},
{
"objectID": "2",
"author": null,
"title": "The Blue Dog"
},
{
"objectID": "3",
"author": null,
"title": "The Black Dog"
},
{
"objectID": "4",
"author": "Simon McCowell",
"title": "The White Dog"
}
]
...然后使用distinct=1
查询索引将产生:
{
"exhaustiveNbHits": false,
"hits": [
{
"author": null,
"objectID": "3",
"title": "The Black Dog"
},
{
"author": null,
"objectID": "2",
"title": "The Blue Dog"
},
{
"author": "Simon McCowell",
"objectID": "4",
"title": "The White Dog"
}
],
"hitsPerPage": 20,
"nbHits": 3,
"nbPages": 1,
"page": 0,
"params": "distinct=1&query=",
"processingTimeMS": 1,
"query": ""
}
...据我了解,这就是您想要的。