【问题标题】:Why are Algolia search filters not returning expected results?为什么 Algolia 搜索过滤器未返回预期结果?
【发布时间】:2021-12-13 03:27:47
【问题描述】:

我有一个包含以下对象的索引(索引中目前只有一个对象):

我没有配置任何可搜索的属性,因为在搜索此索引时我总是会传递一个空查询。我将createdon 和referenceid 都设置为attributesForFaceting,都设置为“不可搜索”选项。

使用以下过滤器时,我没有得到任何结果。

createdon > 1639277337811 AND (referenceid:1MXSmeYJDFDeo7P57gAz OR referenceid:0HpSqhb4OrZR4M0pC9IextLfDcA3 OR referenceid:2owRr1davxRMuIJDR8OzYJV9oBV2 OR referenceid:IP3PYQWl3oVJZtk3wPdezR1cCc43 OR referenceid:Qf5ecisVU0hMzJjS14GG06mXeco1 OR referenceid:WotgE0eR2pPufOwuB6WotJ8lDcm1 OR referenceid:Z0ruWTWcHFPG57AQc0KpOVErw4L2 OR referenceid:bsQHBKBncrMZWZpdG3SFxfbW1Um2 OR referenceid:m1wSTiquI8bwllVgdy4kAumZE0a2 OR referenceid:yhindpmBVAhL68TOScY7hguKf992)

在尝试调试时,我也在 Algolia 控制台的高级搜索选项中尝试过。 referenceid:1MXSmeYJDFDeo7P57gAz OR referenceid:111S 也没有产生任何结果。

我目前的理论是,Algolia 要求所有引用 ID 都在索引中以使搜索成功。任何人都可以确认是这种情况吗?如果是这样,有什么方法可以在过滤器中包含查询时索引中可能不存在的值?

【问题讨论】:

  • 您的索引中还有其他设置吗?我刚刚使用您提供的数据(以及您提到的方面设置)运行了一个测试用例,它从 Algolia 的 API 返回了 1 个命中。我目前正在使用 JS SDK 和一个非常简单/小节点脚本来测试
  • 我不这么认为。我通过 Algolia 控制台创建了一个新索引并设置了 attributesForFaceting。然后创建了我的测试记录,发现我没有得到结果。今晚我将再次尝试使用新索引。

标签: google-cloud-firestore algolia


【解决方案1】:

将此问题标记为已完成。我的问题的解决方案最终是创建一个新索引,特别注意只更改所需的配置。

【讨论】:

  • 如果您再次被索引设置绊倒,您可以使用Get Settings API 将当前配置转储为 JSON - 这有助于比较可能发生的变化。
猜你喜欢
  • 2021-07-11
  • 2021-07-06
  • 2014-05-11
  • 1970-01-01
  • 2020-05-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-22
相关资源
最近更新 更多