solidus_searchkick 0.2.3 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ca0b78287e2633baa26f6c7ddeff14b16dc00af3
4
- data.tar.gz: 6b2053d60718e3636b27e2b40259cc74a03a084b
3
+ metadata.gz: 90df6ecb12ebe3bdeda6688bb4bab35b26d2eee0
4
+ data.tar.gz: c9fb6dfa763c7aea5935f4a8d653893867fb0b05
5
5
  SHA512:
6
- metadata.gz: a9a69a01475029299acc03e1b6df00f26a812404984b789271b4568c6698c8db787907681725383d3fc26b127530d389996a146d5e187d7a6683aec6d741f799
7
- data.tar.gz: c90fb75cbd91aebb1e2b4124c81eb8e0d37ce4e31abc910ad0d4c40cc50ba22987aaecbca1812b9de5728f4183bd3bab78846d3f35b97b12a715cf4cfa87f956
6
+ metadata.gz: fcfa5acdc15df06161dae6a1e1db00811ce9a34cbb4121dbe4fe04a44ccb16bbcd05399bc3c0c4e26d5740923f5c604a2b08408a4b3e5612aaa21ce90962c35c
7
+ data.tar.gz: a5752bc91281f15e81e0307b432bfd61a9991b1a13451082aa991b79c6c45c05b88fb403ca905827caf76a290bade2b296ce364b0e86cc47925d21022759ce1f
data/README.md CHANGED
@@ -110,6 +110,10 @@ The `conds` for `SearchkickFilters` are similar to the `ProductFilters` in the d
110
110
  end
111
111
  ```
112
112
 
113
+ Advanced Filtering
114
+ ------------------
115
+ Checkout out the wiki page [here](https://github.com/elevatorup/solidus_searchkick/wiki/Advanced-Filtering).
116
+
113
117
  Autocomplete
114
118
  ------------
115
119
  By default, SolidusSearchkick provides autocomplete for the `name` field of your products. In order to get this working, all you need to do is add the following lines to the corresponding files:
@@ -147,6 +151,18 @@ Spree::Product.class_eval do
147
151
  end
148
152
  ```
149
153
 
154
+ Fields and Boosting
155
+ -------------------
156
+ With SolidusSearchkick, you can include a list of fields that you would like to search on. This list can also include boosted fields the same way that Searchkick can. You can learn more about Searchkick boosting [here](https://github.com/ankane/searchkick#boosting).
157
+
158
+ In order to add the fields, pass in an array of the fields:
159
+
160
+ ```
161
+ fields = ['name^99', :description, ...]
162
+ searcher = build_searcher(params.merge(fields: fields))
163
+ @products = searcher.retrieve_products
164
+ ```
165
+
150
166
  Searchkick Options
151
167
  ------------------
152
168
  Since SolidusSearchkick uses Searchkick to interact with ElasticSearch, it also accepts all of the Searchkick options.
@@ -205,45 +221,6 @@ searcher = build_searcher(query: query)
205
221
  ```
206
222
 
207
223
 
208
- Overriding and Extending Default Methods
209
- ----------------------------------------
210
-
211
- By creating an initializer, you have the ability to override or extend any of the default methods provided by SolidusSearchkick.
212
-
213
- ### Overriding a Default Method
214
-
215
- In order to override a method, simply add that method to the initializer.
216
-
217
- _(Take care when overriding methods, as you may loose some functionality if not careful)_
218
- ```
219
- # config/initializers/solidus_searchkick.rb
220
- Spree::Search::Searchkick.class_eval do
221
- def where_clause
222
- # Default items for where_clause
223
- where_clause = {
224
- active: true
225
- }
226
- where_clause.merge!({taxon_ids: taxon.id}) if taxon
227
-
228
- # Add search attributes from params[:search]
229
- add_search_attributes(where_clause)
230
- end
231
- end
232
- ```
233
-
234
- ### Extending a Default Method
235
-
236
- In order to extend a method, alias the original method, then call the aliased method when defining the new method.
237
- ```
238
- # config/initializers/solidus_searchkick.rb
239
- Spree::Search::Searchkick.class_eval do
240
- alias_method :original_where_clause, :where_clause
241
- def where_clause
242
- original_where_clause.merge(param1: param1, param2: param2)
243
- end
244
- end
245
- ```
246
-
247
224
  Testing
248
225
  -------
249
226
 
@@ -268,3 +245,12 @@ Special Thanks
268
245
  --------------
269
246
 
270
247
  SolidusSearchkick was heavily inspired by [spree_searchkick](https://github.com/ronzalo/spree_searchkick), which was used as a starting point to getting Solidus to work nicely with Searchkick.
248
+
249
+ Contributing
250
+ ------------
251
+
252
+ 1. Fork it ( https://github.com/elevatorup/solidus_searchkick/fork )
253
+ 2. Create your feature branch (`git checkout -b feature/my-new-feature`)
254
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
255
+ 4. Push to the branch (`git push origin feature/my-new-feature`)
256
+ 5. Create a new Pull Request
@@ -1,3 +1,3 @@
1
1
  module SolidusSearchkick
2
- VERSION = '0.2.3'
2
+ VERSION = '0.3.0'
3
3
  end
@@ -38,6 +38,7 @@ module Spree::Search
38
38
  per_page: per_page,
39
39
  }
40
40
 
41
+ search_options.merge!(fields: fields) if fields
41
42
  search_options.merge!(searchkick_options)
42
43
  search_options.deep_merge!(includes: includes_clause)
43
44
 
@@ -127,6 +128,7 @@ module Spree::Search
127
128
  def prepare(params)
128
129
  @properties[:query] = params[:query].blank? ? nil : params[:query]
129
130
  @properties[:filters] = params[:filter].blank? ? nil : params[:filter]
131
+ @properties[:fields] = params[:fields].blank? ? nil : params[:fields]
130
132
  @properties[:searchkick_options] = params[:searchkick_options].blank? ? {} : params[:searchkick_options].deep_symbolize_keys
131
133
  params = params.deep_symbolize_keys
132
134
  super
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: solidus_searchkick
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jim Smith
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-01-03 00:00:00.000000000 Z
11
+ date: 2017-03-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: solidus
@@ -289,7 +289,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
289
289
  requirements:
290
290
  - none
291
291
  rubyforge_project:
292
- rubygems_version: 2.5.1
292
+ rubygems_version: 2.4.6
293
293
  signing_key:
294
294
  specification_version: 4
295
295
  summary: Add searchkick to Solidus