我有名称、性别、description等列的产品模型,通过search_data方法在elasticsearch索引中包含了这些列。
让我们假设我有一个具有以下值的产品
name: 'No Boyfriend No Problem Crop Jumper'
gender : 'women'
description: 'Best crop jumber for now'当我搜索一个术语“女性作物跳投者”时
产品不会出现在搜索结果中。我试图通过以下查询搜索产品
@products = Product.search(
params[:q],
fields: [:gender, :name, :description],
match: :word_start,
page: params[:page],
per_page: Product::PAGE
)我应该如何更新我的产品搜索,以便“女性作物跳投”搜索结果将包括上述产品。
谢谢
发布于 2018-09-05 21:13:15
看上去像现在的这不可能。但是,您可以执行以下操作,并且应该可以工作:
def search_data
{
name: name,
gender: gender,
description: description,
all_fields: [name, gender, description].compact.join(' ')
}
end然后,您可以在查询中搜索all_fields字段。
https://stackoverflow.com/questions/52184893
复制相似问题