描述
我想在一个集合中搜索多个查询令牌,如下所示:
let searchRequests = {
'searches': [
{
'collection': 'products',
'q': 'shoe hat dress perfume',
}
]
}如果单独查询结果,每个令牌都包含结果,如果我查询两个令牌,如:'q': 'shoe hat',。
有允许多个查询项的方法吗?
预期行为
我希望根据我的查询令牌'shoe hat dress perfume',或换句话说,OR查询模式返回结果:
{
"results": [
{
"facet_counts": [],
"found": 100,
"hits": [
...
}
]
} 实际行为
实际的行为是什么都找不到:
{
"results": [
{
"facet_counts": [],
"found": 0,
"hits": [
...
}
]
} 元数据
类型版本:0.22.0
发布于 2022-02-21 09:32:12
Typesense不支持严格的OR,目前还没有这样做的计划。
为了解决我的问题,我使用了filter_by,如下所示:
let searchRequests = {
'searches': [
{
'collection': 'products',
'q': '*',
'filter_by': "category:["shoe", "hat", "dress", "perfume"]"
}
]
}这将退回鞋类/帽子/服装/香水类的所有产品。
关于filter_by使用的更多细节,在这里:https://typesense.org/docs/0.19.0/api/documents.html#index-a-document
https://stackoverflow.com/questions/71172284
复制相似问题