ruby - 将 `limit` `offset`选项传递给searchkick高级搜索主体对象

标签 ruby elasticsearch searchkick

我正在尝试在Ruby上执行Advanced search with SearchKick,如下所示:

Product.search(body: search_body, load: false)

def search_body
  {
    _source: true,
    query: {
      bool: {
        must: [
          {
            match: {
              name: {
                query: product.name,
                fuzziness: 'auto',
                operator: 'and',
              },
            },
          },
        ],
      },
    },
  }
end

我现在正尝试将limit: 10, offset: 15选项传递给我的搜索。我在哪里或如何传递limit: 10, offset: 15选项?

examples given herequery:选项一起使用-但使用body:选项的行为有所不同,因为它忽略了我传递给.search()的任何其他选项。

最佳答案

您需要使用Elasticsearch docs进行高级搜索。

def search_body
  {
    size: 10,
    from: 15,
    query: { ... }
  }
end

关于ruby - 将 `limit` `offset`选项传递给searchkick高级搜索主体对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49685138/

相关文章:

ruby-on-rails-4 - 使用 Elasticsearch/Searchkick 进行搜索/自动完成以前可以工作,但现在已损坏

ruby-on-rails-4 - Searchkick 在指定字段时不搜索多个术语

Elasticsearch - 忽略索引文档中的字段

ruby-on-rails - 如何使用sidekiq和队列作为searchkick `callbacks`选项

ruby - 如何使 Ruby gem 包将文件复制到任意位置?

ruby - 为什么模块的 'self'方法不能成为类的单例方法?

ruby - 使用 jemalloc 和 rbenv 编译 Ruby 2.2 的正确方法?

ruby-on-rails - Controller Inheritance 如何实现抽象 Controller

django - 使用Heroku进行Django Wagtail/Haystack搜索

elasticsearch - ES 默认只返回 10 条记录。如何在不使用滚动 API 的情况下获取所有记录