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 预期结果:
我想知道我是否可以在每个字段中查询不同的值 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 预期结果: