es_fields 0.1.1 → 0.1.2
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 +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +2 -1
- data/lib/es_fields/fields.rb +32 -0
- data/lib/es_fields/version.rb +1 -1
- data/lib/es_fields.rb +1 -33
- metadata +2 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 499198729884f132c63e5e3130626036027cc17453570f27657f219c7739b0c9
|
|
4
|
+
data.tar.gz: f645e5485faeaff767b113280749e06f5c7250728c7c040c3fd9500b42c1aca3
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 79c057f7aecfb28ec1fb7353ff483bcc04836414600eb243275229bde5b016f6672e13c0642122bc1365313ce14f848e15a670272d999b18c740dd5d9ac493d2
|
|
7
|
+
data.tar.gz: 11f87e3a57a2f9ffd097a648592b20f27cbbc3b08d638cd5a0fb0aa1da636a6da7729a1df4078b7f531f914b84b40429d8345d9da2d24809a9c6bd1fd41e18fc
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# EsFields
|
|
2
|
-
Provides an idiomatic way to generate elastic search
|
|
2
|
+
Provides an idiomatic way to generate elastic search field mappings.
|
|
3
3
|
|
|
4
4
|
## Installation
|
|
5
5
|
|
|
@@ -23,6 +23,7 @@ Or install it yourself as:
|
|
|
23
23
|
mapping do
|
|
24
24
|
field :name, :string
|
|
25
25
|
field :age, :long
|
|
26
|
+
field :email, :keyword
|
|
26
27
|
end
|
|
27
28
|
```
|
|
28
29
|
This will generate ElasticSearch field mappings and return a
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
class Fields
|
|
2
|
+
BASE_MAPPING =
|
|
3
|
+
{
|
|
4
|
+
"mappings": {
|
|
5
|
+
"doc": {
|
|
6
|
+
"properties": {
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
TYPE_MAPPING = {
|
|
13
|
+
string: 'text',
|
|
14
|
+
long: 'long',
|
|
15
|
+
date: 'date',
|
|
16
|
+
keyword: 'keyword',
|
|
17
|
+
double: 'double',
|
|
18
|
+
boolean: 'boolean',
|
|
19
|
+
ip: 'ip',
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
def initialize
|
|
23
|
+
@base_mapping = BASE_MAPPING.dup
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def field(name, type)
|
|
27
|
+
@base_mapping[:mappings][:doc][:properties].merge!(
|
|
28
|
+
{ name => { type: TYPE_MAPPING[type]}}
|
|
29
|
+
)
|
|
30
|
+
@base_mapping
|
|
31
|
+
end
|
|
32
|
+
end
|
data/lib/es_fields/version.rb
CHANGED
data/lib/es_fields.rb
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
require "es_fields/version"
|
|
2
|
+
require "es_fields/fields"
|
|
2
3
|
|
|
3
4
|
module EsFields
|
|
4
5
|
def mapping(&block)
|
|
@@ -6,36 +7,3 @@ module EsFields
|
|
|
6
7
|
field_instance.instance_eval &block
|
|
7
8
|
end
|
|
8
9
|
end
|
|
9
|
-
|
|
10
|
-
class Fields
|
|
11
|
-
BASE_MAPPING =
|
|
12
|
-
{
|
|
13
|
-
"mappings": {
|
|
14
|
-
"doc": {
|
|
15
|
-
"properties": {
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
TYPE_MAPPING = {
|
|
22
|
-
string: 'text',
|
|
23
|
-
long: 'long',
|
|
24
|
-
date: 'date',
|
|
25
|
-
keyword: 'keyword',
|
|
26
|
-
double: 'double',
|
|
27
|
-
boolean: 'boolean',
|
|
28
|
-
ip: 'ip',
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
def initialize
|
|
32
|
-
@base_mapping = BASE_MAPPING.dup
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
def field(name, type)
|
|
36
|
-
@base_mapping[:mappings][:doc][:properties].merge!(
|
|
37
|
-
{ name => { type: TYPE_MAPPING[type]}}
|
|
38
|
-
)
|
|
39
|
-
@base_mapping
|
|
40
|
-
end
|
|
41
|
-
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.
|
|
4
|
+
version: 0.1.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Yask Srivastava
|
|
@@ -71,6 +71,7 @@ files:
|
|
|
71
71
|
- bin/setup
|
|
72
72
|
- es_fields.gemspec
|
|
73
73
|
- lib/es_fields.rb
|
|
74
|
+
- lib/es_fields/fields.rb
|
|
74
75
|
- lib/es_fields/version.rb
|
|
75
76
|
homepage: https://github.com/yask123/es_fields
|
|
76
77
|
licenses:
|