es_fields 0.1.3 → 0.1.4

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
  SHA256:
3
- metadata.gz: 5210eaf3b7538dbed5c3fc60baaf39f6fad20132d613ca28340a7acc7b94daa3
4
- data.tar.gz: 8f171573a22483d9106b3b4a355354e4c29119d34acc8bda32fb1cb7a2fa6ccd
3
+ metadata.gz: 1c373c0fc35febd332ded68a98992142d08947fc53a5d72dd447fd8e6de927af
4
+ data.tar.gz: 376184859485e660bd866fce86811c9211addfe96b13eea9d74fc2cbdbc0a7c8
5
5
  SHA512:
6
- metadata.gz: 19c3a9aa53a0cc2d822c269d075943734fda42d5c784cbbe89977dcfd081582ada49013875f2ae0e7418640eff5f49844cbf118941417b03e948acbb18f89402
7
- data.tar.gz: b2ebc3286e8915780c51caf1dfa152511ad3710ced9714598cb1e22df51086f2b192941b664aff39e76afd720288dffb4734342f9ab9e843e626a2e77a56c106
6
+ metadata.gz: 0c8d8956b99259bae37f3e5fa124c0fc13f8a98b71c6af86757f89e5eedabd165528a1161ce16f2aa974ebf504c36ebb294073e0fa094711ad2444b1eeb65fb6
7
+ data.tar.gz: de2ac41dabb2ffc79369f6ad50b6cd11c43788bacdfa39a349f4d645c4241270fd8c92af8b0e079442c725dd61ee202b4ae1ba60925ee71a22653524b533ec9f
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- es_fields (0.1.2)
4
+ es_fields (0.1.3)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/README.md CHANGED
@@ -21,13 +21,12 @@ Or install it yourself as:
21
21
 
22
22
  ```ruby
23
23
  mapping do
24
- field :name, :string
24
+ field :name, :string, options: [:full_text_search]
25
25
  field :age, :long
26
- field :email, :keyword
26
+ field :email, :string, options: [:filtering]
27
27
  end
28
28
  ```
29
- This will generate ElasticSearch field mappings and return a
30
- Hash which can be used with ElasticSearch API to add fields to an existing index.
29
+ This will return a Hash which can be used with ElasticSearch API to add fields to an existing index.
31
30
 
32
31
  ## Development
33
32
 
@@ -19,13 +19,24 @@ class Fields
19
19
  ip: 'ip',
20
20
  }
21
21
 
22
+ OPTIONS_MAPPING = {
23
+ sortable: 'keyword',
24
+ full_text_search: 'text',
25
+ aggregation: 'keyword',
26
+ filtering: 'keyword',
27
+ }
28
+
22
29
  def initialize
23
30
  @base_mapping = BASE_MAPPING.dup
24
31
  end
25
32
 
26
- def field(name, type)
33
+ def field(name, type, options: [])
27
34
  @base_mapping[:mappings][:doc][:properties].merge!(
28
- { name => { type: TYPE_MAPPING[type]}}
35
+ {
36
+ name => {
37
+ type: options.empty? ? TYPE_MAPPING[type] : OPTIONS_MAPPING[options.first]
38
+ }
39
+ }
29
40
  )
30
41
  @base_mapping
31
42
  end
@@ -1,3 +1,3 @@
1
1
  module EsFields
2
- VERSION = "0.1.3"
2
+ VERSION = "0.1.4"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: es_fields
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yask Srivastava