如何清除阿尔戈利亚的搜索查询缓存?



我一直在PHP中使用algolia,您可以在客户端上使用addObjectssaveObjects方法更新/保存对象。

我的问题是,在你提交了大量要保存的对象并在算法数据库中更新后,如果你对一个曾经在一个已经更改的属性中的关键字进行搜索查询,尽管数据正在更新,结果仍然显示该对象。单击编辑后,您可以在browse页面上看到更改后的数据,但无论出于何种原因,它仍然显示结果。

我尝试关闭/重新启动浏览器,因为在javascript方面,默认情况下它应该在内存中缓存,但事实并非如此。我尝试在algolia的管理面板中使用"刷新索引",并在javascript库上调用clearCache,但没有清除任何内容。基于旧属性数据的相同缓存结果。我甚至删除了完整的索引,重新提交了所有对象,仍然得到了相同的结果。

那么,在algolia数据库中成功更新对象属性后,如何清除搜索查询缓存

事实证明这不是编码或api问题,如果你碰巧在algolia的管理面板中设置了一个同义词,那么当你搜索像"foo"这样的术语时,就会发生这样的情况,而你在管理面板中有一个别名,上面写着"bar"是"foo的同义词。你在数据库中的任何属性值中都有"bar"的对象都会被列为术语"foo",因为algoia会替换所有与该同义词匹配的值,然后进行查询对于你正在寻找的学期,如果你不小心,你会得到意想不到的结果。

最新更新