首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Typesense 'OR‘查询模式

Typesense 'OR‘查询模式
EN

Stack Overflow用户
提问于 2022-02-18 10:54:47
回答 1查看 115关注 0票数 1

描述

我想在一个集合中搜索多个查询令牌,如下所示:

代码语言:javascript
复制
let searchRequests = {
  'searches': [
    {
      'collection': 'products',
      'q': 'shoe hat dress perfume',
    }
  ]
}

如果单独查询结果,每个令牌都包含结果,如果我查询两个令牌,如:'q': 'shoe hat',

有允许多个查询项的方法吗?

预期行为

我希望根据我的查询令牌'shoe hat dress perfume',或换句话说,OR查询模式返回结果:

代码语言:javascript
复制
{
  "results": [
    {
      "facet_counts": [],
      "found": 100,
      "hits": [  
        ...
    } 
  ]
} 

实际行为

实际的行为是什么都找不到:

代码语言:javascript
复制
{
  "results": [
    {
      "facet_counts": [],
      "found": 0,
      "hits": [  
        ...
    } 
  ]
} 

元数据

类型版本:0.22.0

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-21 09:32:12

Typesense不支持严格的OR,目前还没有这样做的计划。

为了解决我的问题,我使用了filter_by,如下所示:

代码语言:javascript
复制
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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71172284

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档