From 495599f68e85e9c4fd8a0f049e09484e5c3bf3c4 Mon Sep 17 00:00:00 2001 From: Andrew Kane Date: Wed, 24 Aug 2016 23:07:32 -0700 Subject: [PATCH] Added request_params option - #484 --- CHANGELOG.md | 4 ++++ README.md | 6 ++++++ lib/searchkick/query.rb | 1 + test/query_test.rb | 4 ++++ 4 files changed, 15 insertions(+), 0 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7a11ba9..83da88d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.3.5 [unreleased] + +- Added `request_params` option + ## 1.3.4 - Added `resume` option to reindex diff --git a/README.md b/README.md index 8992089..9f216d4 100644 --- a/README.md +++ b/README.md @@ -1314,6 +1314,12 @@ products = Product.search("carrots", execute: false) products.each { ... } # search not executed until here ``` +Add [request parameters](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-uri-request.html), like `search_type` and `query_cache` [master] + +```ruby +Product.search("carrots", request_params: {search_type: "dfs_query_then_fetch"}) +``` + Make fields unsearchable but include in the source ```ruby diff --git a/lib/searchkick/query.rb b/lib/searchkick/query.rb index 04ed736..e615f98 100644 --- a/lib/searchkick/query.rb +++ b/lib/searchkick/query.rb @@ -61,6 +61,7 @@ module Searchkick } params.merge!(type: @type) if @type params.merge!(routing: @routing) if @routing + params.merge!(options[:request_params]) if options[:request_params] params end diff --git a/test/query_test.rb b/test/query_test.rb index cf029bd..337e2c1 100644 --- a/test/query_test.rb +++ b/test/query_test.rb @@ -28,4 +28,8 @@ class QueryTest < Minitest::Test def test_timeout_override assert_equal "1s", Product.search("*", body_options: {timeout: "1s"}, execute: false).body[:timeout] end + + def test_request_params + assert_equal "dfs_query_then_fetch", Product.search("*", request_params: {search_type: "dfs_query_then_fetch"}, execute: false).params[:search_type] + end end -- libgit2 0.21.0