首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails搜索弹性搜索匹配多个单词搜索

Rails搜索弹性搜索匹配多个单词搜索
EN

Stack Overflow用户
提问于 2018-09-05 12:16:04
回答 1查看 906关注 0票数 0

我有名称、性别、description等列的产品模型,通过search_data方法在elasticsearch索引中包含了这些列。

让我们假设我有一个具有以下值的产品

代码语言:javascript
复制
name: 'No Boyfriend No Problem Crop Jumper'
gender : 'women'
description: 'Best crop jumber for now'

当我搜索一个术语“女性作物跳投者”时

产品不会出现在搜索结果中。我试图通过以下查询搜索产品

代码语言:javascript
复制
@products = Product.search(
              params[:q],
              fields: [:gender, :name, :description],
              match: :word_start,
              page: params[:page],
              per_page: Product::PAGE
            )

我应该如何更新我的产品搜索,以便“女性作物跳投”搜索结果将包括上述产品。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2018-09-05 21:13:15

看上去像现在的这不可能。但是,您可以执行以下操作,并且应该可以工作:

代码语言:javascript
复制
def search_data
  {
    name: name,
    gender: gender,
    description: description,
    all_fields: [name, gender, description].compact.join(' ')
  }
end

然后,您可以在查询中搜索all_fields字段。

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

https://stackoverflow.com/questions/52184893

复制
相关文章

相似问题

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