Algolia:使用 AND 子句在每个字段中搜索多个值

Algolia: search for multiples values in each fields with AND clause

我想知道我是否可以在每个字段中查询不同的值 returning 值仅与搜索类似 AND 条件匹配。我尝试在多个索引中使用搜索,但它 return 值类似于 OR 条件。

示例:

我的索引包含:

[
 {
  firstName: 'Alisson',
  lastName: 'Oliveira',
 },
 {
  firstName: 'Alex',
  lastName: 'Oliver',
 },
{
  firstName: 'Daniel',
  lastName: 'Costa',
 }
]

我的查询是:

index.search(query: { firstName: 'Al', lastName: 'Oliv' })

期望的响应:

[
 {
  firstName: 'Alisson',
  lastName: 'Oliveira',
 },
 {
  firstName: 'Alex',
  lastName: 'Oliver',
 }
]

有人知道在 algolia 中是否可行吗?

根据您的示例,听起来您的 end-user 会键入查询:"Al Oliv" 并且您希望上面显示的两条记录为 return.

为此,您需要将默认设置从 prefixLast 更改为 prefixAll。您可以在仪表板中执行此操作:

默认情况下,Algolia 只使用最后一个词作为前缀。如果您进行上述更改,查询将 return 预期结果: