ruby-on-rails - Rails Elasticsearch + Searchkick

标签 ruby-on-rails elasticsearch searchkick

我在整合searchkick和elasticsearch时遇到问题。这是我到目前为止的内容:

Product records:
id: 1
title: "Electric Fan"

id: 2
title: "Stove"

id: 3
title: "Stoven"

id: 4
title: "Stovener"

这是我的模特
class Product < ActiveRecord::Base
  searchkick
end

但是当我进入Rails控制台并尝试搜索时,它只会给我一个结果:
results = Product.search("Stove")
results.map(&:title) # prints ["Stove"]

我不知道为什么它只产生一个结果,实际上它应该产生三个结果。我安装并确保elasticsearch正在运行。

我有什么想念的吗?

TIA

最佳答案

阅读文档:

By default, results must match the entire word - back will not match backpack. You can change this behavior with:


class Product < ActiveRecord::Base
  searchkick word_start: [:name]
end

并进行搜索(重新索引后):

Product.search "back", fields: [{name: :word_start}]



消息来源-https://github.com/ankane/searchkick#partial-matches

关于ruby-on-rails - Rails Elasticsearch + Searchkick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26620828/

相关文章:

ruby-on-rails - Searchkick 在 Travis CI 上失败

ruby-on-rails - 如何从 SQLite 迁移到 PostgreSQL (Rails)

ruby-on-rails - 如何在 Rails 中将自定义错误返回到我的表单?

java - 在ElasticSearch中将SearchHit转换为Java对象

spring - 如何使用 jest 客户端或传输客户端在 Elasticsearch 中使用三个表单字段进行搜索

elasticsearch - elasticsearch在嵌套类型内搜索数组字段

ruby-on-rails - Searchkick AWS凭证到期

ruby-on-rails - 创建模型后,searchkick是否会自动更新索引?

ruby-on-rails - 如何在 ruby​​ on rails 应用程序中单击带有 capybara 的单选按钮

ruby-on-rails - 一次交易下创建和更新多个模型