elasticsearch_hermes 0.0.4.2 → 0.0.4.3
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2f6009a5db9dbdfdab3726836bfac404c93c6f2d
|
4
|
+
data.tar.gz: 6a540995c8295459a69911e87ed26116c060077b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ddfb5842a31d4aa3d9749b596f38f467e545d61ab87d591e43f6c3ff8a410cf06a9d288e32579f55a43a8441d93dc9c093b854f59c3a3fe43f585a3d6f85f8d5
|
7
|
+
data.tar.gz: f796c78ad02f5c1001f3f54dddfede7b9fddfcf2d3b5bf73a9137bfe56f093f54f6d3225cc856ceac185e8110374ad32377f2883738ddccecd3d94a3429c9cc7
|
data/lib/elasticsearch_hermes.rb
CHANGED
@@ -5,6 +5,8 @@ require 'elasticsearch_hermes/railtie'
|
|
5
5
|
require 'elasticsearch_hermes/errors'
|
6
6
|
require 'elasticsearch_hermes/configuration'
|
7
7
|
require 'elasticsearch_hermes/index'
|
8
|
+
require 'elasticsearch_hermes/query'
|
9
|
+
require 'elasticsearch_hermes/result/base'
|
8
10
|
require 'elasticsearch_hermes/hook'
|
9
11
|
require 'elasticsearch_hermes/logger'
|
10
12
|
require 'elasticsearch_hermes/elasticsearch_hermes'
|
@@ -0,0 +1,44 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module ElasticsearchHermes
|
4
|
+
module Query
|
5
|
+
def search(query: '', index_name: to_s.underscore, fields: [])
|
6
|
+
@results = ElasticsearchHermes.client.search query_payload(
|
7
|
+
query: query,
|
8
|
+
index_name: index_name,
|
9
|
+
fields: fields
|
10
|
+
)
|
11
|
+
ElasticsearchHermes::Result::Base.new(@results.symbolize_keys)
|
12
|
+
end
|
13
|
+
|
14
|
+
def hermes_search_on(*fields, &block)
|
15
|
+
yield
|
16
|
+
end
|
17
|
+
|
18
|
+
def search_type
|
19
|
+
|
20
|
+
end
|
21
|
+
|
22
|
+
def field_type
|
23
|
+
|
24
|
+
end
|
25
|
+
|
26
|
+
def minimum_match
|
27
|
+
|
28
|
+
end
|
29
|
+
|
30
|
+
def query_payload(query:, index_name:, fields:)
|
31
|
+
{
|
32
|
+
index: index_name,
|
33
|
+
body: {
|
34
|
+
query: {
|
35
|
+
multi_match: {
|
36
|
+
query: query,
|
37
|
+
fields: fields
|
38
|
+
}
|
39
|
+
}
|
40
|
+
}
|
41
|
+
}
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module ElasticsearchHermes
|
4
|
+
module Result
|
5
|
+
class Base
|
6
|
+
attr_reader :took, :timed_out, :shards, :hits
|
7
|
+
|
8
|
+
def initialize(took:, timed_out:, hits:, _shards:)
|
9
|
+
@took = took
|
10
|
+
@timed_out = timed_out
|
11
|
+
@shards = _shards
|
12
|
+
@hits = hits
|
13
|
+
end
|
14
|
+
|
15
|
+
def ids
|
16
|
+
@ids ||= @hits['hits'].map { |hit| hit['_id'] }
|
17
|
+
end
|
18
|
+
|
19
|
+
def models
|
20
|
+
@models ||= ''
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
File without changes
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: elasticsearch_hermes
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.4.
|
4
|
+
version: 0.0.4.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ronald Ekambi
|
@@ -43,7 +43,10 @@ files:
|
|
43
43
|
- lib/elasticsearch_hermes/hook.rb
|
44
44
|
- lib/elasticsearch_hermes/index.rb
|
45
45
|
- lib/elasticsearch_hermes/logger.rb
|
46
|
+
- lib/elasticsearch_hermes/query.rb
|
46
47
|
- lib/elasticsearch_hermes/railtie.rb
|
48
|
+
- lib/elasticsearch_hermes/result/base.rb
|
49
|
+
- lib/elasticsearch_hermes/result/hit.rb
|
47
50
|
- lib/elasticsearch_hermes/version.rb
|
48
51
|
homepage: https://github.com/roncodingenthusiast/elasticsearch_hermes
|
49
52
|
licenses:
|