elasticsearch-rails 6.1.1 → 7.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +24 -3
- data/LICENSE.txt +199 -10
- data/README.md +27 -23
- data/Rakefile +23 -7
- data/elasticsearch-rails.gemspec +52 -33
- data/lib/elasticsearch/rails/instrumentation/controller_runtime.rb +17 -0
- data/lib/elasticsearch/rails/instrumentation/log_subscriber.rb +17 -0
- data/lib/elasticsearch/rails/instrumentation/publishers.rb +17 -0
- data/lib/elasticsearch/rails/instrumentation/railtie.rb +17 -0
- data/lib/elasticsearch/rails/instrumentation.rb +17 -0
- data/lib/elasticsearch/rails/lograge.rb +17 -0
- data/lib/elasticsearch/rails/tasks/import.rb +17 -0
- data/lib/elasticsearch/rails/version.rb +18 -1
- data/lib/elasticsearch/rails.rb +17 -0
- data/lib/rails/templates/01-basic.rb +27 -6
- data/lib/rails/templates/02-pretty.rb +18 -1
- data/lib/rails/templates/03-expert.rb +27 -9
- data/lib/rails/templates/04-dsl.rb +20 -3
- data/lib/rails/templates/05-settings-files.rb +19 -2
- data/lib/rails/templates/index.html.dsl.erb +18 -0
- data/lib/rails/templates/index.html.erb +18 -0
- data/lib/rails/templates/indexer.rb +17 -0
- data/lib/rails/templates/search_controller_test.dsl.rb +17 -0
- data/lib/rails/templates/search_controller_test.rb +17 -0
- data/lib/rails/templates/searchable.dsl.rb +17 -0
- data/lib/rails/templates/searchable.rb +17 -0
- data/lib/rails/templates/seeds.rb +17 -0
- data/spec/instrumentation_spec.rb +17 -0
- data/spec/lograge_spec.rb +34 -0
- data/spec/spec_helper.rb +18 -0
- metadata +34 -44
@@ -1,3 +1,20 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
|
1
18
|
# A collection of Rake tasks to facilitate importing data from your models into Elasticsearch.
|
2
19
|
#
|
3
20
|
# Add this e.g. into the `lib/tasks/elasticsearch.rake` file in your Rails application:
|
@@ -1,5 +1,22 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
|
1
18
|
module Elasticsearch
|
2
19
|
module Rails
|
3
|
-
VERSION =
|
20
|
+
VERSION = "7.2.1"
|
4
21
|
end
|
5
22
|
end
|
data/lib/elasticsearch/rails.rb
CHANGED
@@ -1,3 +1,20 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
|
1
18
|
require "elasticsearch/rails/version"
|
2
19
|
|
3
20
|
module Elasticsearch
|
@@ -1,3 +1,20 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
|
1
18
|
# =====================================================================================================
|
2
19
|
# Template for generating a no-frills Rails application with support for Elasticsearch full-text search
|
3
20
|
# =====================================================================================================
|
@@ -15,7 +32,7 @@
|
|
15
32
|
# Usage:
|
16
33
|
# ------
|
17
34
|
#
|
18
|
-
# $ rails new searchapp --skip --skip-bundle --template https://raw.github.com/elasticsearch/elasticsearch-rails/
|
35
|
+
# $ rails new searchapp --skip --skip-bundle --template https://raw.github.com/elasticsearch/elasticsearch-rails/main/elasticsearch-rails/lib/rails/templates/01-basic.rb
|
19
36
|
#
|
20
37
|
# =====================================================================================================
|
21
38
|
|
@@ -27,7 +44,7 @@ $elasticsearch_url = ENV.fetch('ELASTICSEARCH_URL', 'http://localhost:9200')
|
|
27
44
|
|
28
45
|
# ----- Check for Elasticsearch -------------------------------------------------------------------
|
29
46
|
|
30
|
-
required_elasticsearch_version = '
|
47
|
+
required_elasticsearch_version = '7'
|
31
48
|
|
32
49
|
docker_command =<<-CMD.gsub(/\s{1,}/, ' ').strip
|
33
50
|
docker run \
|
@@ -37,7 +54,7 @@ docker_command =<<-CMD.gsub(/\s{1,}/, ' ').strip
|
|
37
54
|
--env "cluster.name=elasticsearch-rails" \
|
38
55
|
--env "cluster.routing.allocation.disk.threshold_enabled=false" \
|
39
56
|
--rm \
|
40
|
-
docker.elastic.co/elasticsearch/elasticsearch-oss:6.
|
57
|
+
docker.elastic.co/elasticsearch/elasticsearch-oss:7.6.0
|
41
58
|
CMD
|
42
59
|
|
43
60
|
begin
|
@@ -91,11 +108,11 @@ remove_file 'README.md'
|
|
91
108
|
create_file 'README.md', <<-README
|
92
109
|
# Ruby on Rails and Elasticsearch: Example application
|
93
110
|
|
94
|
-
This application is an example of integrating the {Elasticsearch}[
|
111
|
+
This application is an example of integrating the {Elasticsearch}[https://www.elastic.co]
|
95
112
|
search engine with the {Ruby On Rails}[http://rubyonrails.org] web framework.
|
96
113
|
|
97
114
|
It has been generated by application templates available at
|
98
|
-
https://github.com/elasticsearch/elasticsearch-rails/tree/
|
115
|
+
https://github.com/elasticsearch/elasticsearch-rails/tree/main/elasticsearch-rails/lib/rails/templates.
|
99
116
|
|
100
117
|
## [1] Basic
|
101
118
|
|
@@ -139,7 +156,7 @@ puts
|
|
139
156
|
say_status "Rubygems", "Adding Elasticsearch libraries into Gemfile...\n", :yellow
|
140
157
|
puts '-'*80, ''; sleep 0.75
|
141
158
|
|
142
|
-
gem 'elasticsearch'
|
159
|
+
gem 'elasticsearch'
|
143
160
|
gem 'elasticsearch-model', git: 'https://github.com/elasticsearch/elasticsearch-rails.git'
|
144
161
|
gem 'elasticsearch-rails', git: 'https://github.com/elasticsearch/elasticsearch-rails.git'
|
145
162
|
|
@@ -321,6 +338,10 @@ puts '-'*80, ''
|
|
321
338
|
git tag: "basic"
|
322
339
|
git log: "--reverse --oneline"
|
323
340
|
|
341
|
+
# ----- Install Webpacker -------------------------------------------------------------------------
|
342
|
+
|
343
|
+
run 'rails webpacker:install'
|
344
|
+
|
324
345
|
# ----- Start the application ---------------------------------------------------------------------
|
325
346
|
|
326
347
|
unless ENV['RAILS_NO_SERVER_START']
|
@@ -1,4 +1,21 @@
|
|
1
|
-
#
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
|
18
|
+
# $ rails new searchapp --skip --skip-bundle --template https://raw.github.com/elasticsearch/elasticsearch-rails/main/elasticsearch-rails/lib/rails/templates/02-pretty.rb
|
2
19
|
|
3
20
|
unless File.read('README.md').include? '## [1] Basic'
|
4
21
|
say_status "ERROR", "You have to run the 01-basic.rb template first.", :red
|
@@ -1,4 +1,21 @@
|
|
1
|
-
#
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
|
18
|
+
# $ rails new searchapp --skip --skip-bundle --template https://raw.github.com/elasticsearch/elasticsearch-rails/main/elasticsearch-rails/lib/rails/templates/03-expert.rb
|
2
19
|
|
3
20
|
unless File.read('README.md').include? '## [2] Pretty'
|
4
21
|
say_status "ERROR", "You have to run the 01-basic.rb and 02-pretty.rb templates first.", :red
|
@@ -17,7 +34,8 @@ begin
|
|
17
34
|
rescue Redis::CannotConnectError
|
18
35
|
puts
|
19
36
|
say_status "ERROR", "Redis not available", :red
|
20
|
-
say_status "", "This template uses an asynchronous indexer via Sidekiq, and requires a running Redis server.
|
37
|
+
say_status "", "This template uses an asynchronous indexer via Sidekiq, and requires a running Redis server.
|
38
|
+
Make sure you have installed Redis (brew install redis) and that you have launched the server"
|
21
39
|
exit(1)
|
22
40
|
end
|
23
41
|
|
@@ -163,7 +181,7 @@ CODE
|
|
163
181
|
gsub_file "test/models/article_test.rb", %r{assert_equal 'foo', definition\[:query\]\[:multi_match\]\[:query\]}, "assert_equal 'foo', definition.to_hash[:query][:bool][:should][0][:multi_match][:query]"
|
164
182
|
|
165
183
|
# copy_file File.expand_path('../searchable.rb', __FILE__), 'app/models/concerns/searchable.rb'
|
166
|
-
get 'https://raw.githubusercontent.com/elastic/elasticsearch-rails/
|
184
|
+
get 'https://raw.githubusercontent.com/elastic/elasticsearch-rails/main/elasticsearch-rails/lib/rails/templates/searchable.rb', 'app/models/concerns/searchable.rb'
|
167
185
|
|
168
186
|
insert_into_file "app/models/article.rb", after: "ActiveRecord::Base" do
|
169
187
|
<<-CODE
|
@@ -191,7 +209,7 @@ gem "sidekiq"
|
|
191
209
|
run "bundle install"
|
192
210
|
|
193
211
|
# copy_file File.expand_path('../indexer.rb', __FILE__), 'app/workers/indexer.rb'
|
194
|
-
get 'https://raw.githubusercontent.com/elastic/elasticsearch-rails/
|
212
|
+
get 'https://raw.githubusercontent.com/elastic/elasticsearch-rails/main/elasticsearch-rails/lib/rails/templates/indexer.rb', 'app/workers/indexer.rb'
|
195
213
|
|
196
214
|
insert_into_file "test/test_helper.rb",
|
197
215
|
"require 'sidekiq/testing'\n\n",
|
@@ -226,16 +244,16 @@ create_file 'app/controllers/search_controller.rb' do
|
|
226
244
|
end
|
227
245
|
|
228
246
|
# copy_file File.expand_path('../search_controller_test.rb', __FILE__), 'test/controllers/search_controller_test.rb'
|
229
|
-
get 'https://raw.githubusercontent.com/elastic/elasticsearch-rails/
|
247
|
+
get 'https://raw.githubusercontent.com/elastic/elasticsearch-rails/main/elasticsearch-rails/lib/rails/templates/search_controller_test.rb', 'test/controllers/search_controller_test.rb'
|
230
248
|
|
231
249
|
route "get '/search', to: 'search#index', as: 'search'"
|
232
250
|
gsub_file 'config/routes.rb', %r{root to: 'articles#index'$}, "root to: 'search#index'"
|
233
251
|
|
234
252
|
# copy_file File.expand_path('../index.html.erb', __FILE__), 'app/views/search/index.html.erb'
|
235
|
-
get 'https://raw.githubusercontent.com/elastic/elasticsearch-rails/
|
253
|
+
get 'https://raw.githubusercontent.com/elastic/elasticsearch-rails/main/elasticsearch-rails/lib/rails/templates/index.html.erb', 'app/views/search/index.html.erb'
|
236
254
|
|
237
255
|
# copy_file File.expand_path('../search.css', __FILE__), 'app/assets/stylesheets/search.css'
|
238
|
-
get 'https://raw.githubusercontent.com/elastic/elasticsearch-rails/
|
256
|
+
get 'https://raw.githubusercontent.com/elastic/elasticsearch-rails/main/elasticsearch-rails/lib/rails/templates/search.css', 'app/assets/stylesheets/search.css'
|
239
257
|
|
240
258
|
git add: "app/controllers/ test/controllers/ config/routes.rb"
|
241
259
|
git add: "app/views/search/ app/assets/stylesheets/search.css"
|
@@ -297,11 +315,11 @@ say_status "Database", "Re-creating the database with data and importing into E
|
|
297
315
|
puts '-'*80, ''; sleep 0.25
|
298
316
|
|
299
317
|
# copy_file File.expand_path('../articles.yml.gz', __FILE__), 'db/articles.yml.gz'
|
300
|
-
get 'https://raw.githubusercontent.com/elastic/elasticsearch-rails/
|
318
|
+
get 'https://raw.githubusercontent.com/elastic/elasticsearch-rails/main/elasticsearch-rails/lib/rails/templates/articles.yml.gz', 'db/articles.yml.gz'
|
301
319
|
|
302
320
|
remove_file 'db/seeds.rb'
|
303
321
|
# copy_file File.expand_path('../seeds.rb', __FILE__), 'db/seeds.rb'
|
304
|
-
get 'https://raw.githubusercontent.com/elastic/elasticsearch-rails/
|
322
|
+
get 'https://raw.githubusercontent.com/elastic/elasticsearch-rails/main/elasticsearch-rails/lib/rails/templates/seeds.rb', 'db/seeds.rb'
|
305
323
|
|
306
324
|
rake "db:reset"
|
307
325
|
rake "environment elasticsearch:import:model CLASS='Article' BATCH=100 FORCE=y"
|
@@ -1,4 +1,21 @@
|
|
1
|
-
#
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
|
18
|
+
# $ rails new searchapp --skip --skip-bundle --template https://raw.githubusercontent.com/elastic/elasticsearch-rails/main/elasticsearch-rails/lib/rails/templates/04-dsl.rb
|
2
19
|
|
3
20
|
unless File.read('README.md').include? '## [3] Expert'
|
4
21
|
say_status "ERROR", "You have to run the 01-basic.rb, 02-pretty.rb and 03-expert.rb templates first.", :red
|
@@ -39,10 +56,10 @@ run "bundle install"
|
|
39
56
|
# ----- Change the search definition implementation and associated views and tests ----------------
|
40
57
|
|
41
58
|
# copy_file File.expand_path('../searchable.dsl.rb', __FILE__), 'app/models/concerns/searchable.rb', force: true
|
42
|
-
get 'https://raw.githubusercontent.com/elastic/elasticsearch-rails/
|
59
|
+
get 'https://raw.githubusercontent.com/elastic/elasticsearch-rails/main/elasticsearch-rails/lib/rails/templates/searchable.dsl.rb', 'app/models/concerns/searchable.rb', force: true
|
43
60
|
|
44
61
|
# copy_file File.expand_path('../index.html.dsl.erb', __FILE__), 'app/views/search/index.html.erb', force: true
|
45
|
-
get 'https://raw.githubusercontent.com/elastic/elasticsearch-rails/
|
62
|
+
get 'https://raw.githubusercontent.com/elastic/elasticsearch-rails/main/elasticsearch-rails/lib/rails/templates/index.html.dsl.erb', 'app/views/search/index.html.erb', force: true
|
46
63
|
|
47
64
|
gsub_file "test/controllers/search_controller_test.rb", %r{test "should return facets" do.*?end}m, <<-CODE
|
48
65
|
test "should return aggregations" do
|
@@ -1,4 +1,21 @@
|
|
1
|
-
#
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
|
18
|
+
# $ rails new searchapp --skip --skip-bundle --template https://raw.githubusercontent.com/elastic/elasticsearch-rails/main/elasticsearch-rails/lib/rails/templates/05-settings-files.rb
|
2
19
|
|
3
20
|
# (See: 01-basic.rb, 02-pretty.rb, 03-expert.rb, 04-dsl.rb)
|
4
21
|
|
@@ -26,7 +43,7 @@ git commit: "-m 'Setup the Searchable module to load settings from file'"
|
|
26
43
|
# ----- Copy the articles_settings.json file -------------------------------------------------------
|
27
44
|
|
28
45
|
# copy_file File.expand_path('../articles_settings.json', __FILE__), 'config/elasticsearch/articles_settings.json'
|
29
|
-
get 'https://raw.githubusercontent.com/elastic/elasticsearch-rails/
|
46
|
+
get 'https://raw.githubusercontent.com/elastic/elasticsearch-rails/main/elasticsearch-rails/lib/rails/templates/articles_settings.json',
|
30
47
|
'config/elasticsearch/articles_settings.json', force: true
|
31
48
|
|
32
49
|
git add: "config/elasticsearch/articles_settings.json"
|
@@ -1,3 +1,21 @@
|
|
1
|
+
<%#
|
2
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
3
|
+
# license agreements. See the NOTICE file distributed with
|
4
|
+
# this work for additional information regarding copyright
|
5
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
6
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
7
|
+
# not use this file except in compliance with the License.
|
8
|
+
# You may obtain a copy of the License at
|
9
|
+
#
|
10
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#
|
12
|
+
# Unless required by applicable law or agreed to in writing,
|
13
|
+
# software distributed under the License is distributed on an
|
14
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
15
|
+
# KIND, either express or implied. See the License for the
|
16
|
+
# specific language governing permissions and limitations
|
17
|
+
# under the License.
|
18
|
+
%>
|
1
19
|
<div class="col-md-12">
|
2
20
|
<h1 class="text-right"><%= link_to 'Search New York Times articles', root_path %></h1>
|
3
21
|
|
@@ -1,3 +1,21 @@
|
|
1
|
+
<%#
|
2
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
3
|
+
# license agreements. See the NOTICE file distributed with
|
4
|
+
# this work for additional information regarding copyright
|
5
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
6
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
7
|
+
# not use this file except in compliance with the License.
|
8
|
+
# You may obtain a copy of the License at
|
9
|
+
#
|
10
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#
|
12
|
+
# Unless required by applicable law or agreed to in writing,
|
13
|
+
# software distributed under the License is distributed on an
|
14
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
15
|
+
# KIND, either express or implied. See the License for the
|
16
|
+
# specific language governing permissions and limitations
|
17
|
+
# under the License.
|
18
|
+
%>
|
1
19
|
<div class="col-md-12">
|
2
20
|
<h1 class="text-right"><%= link_to 'Search New York Times articles', root_path %></h1>
|
3
21
|
|
@@ -1,3 +1,20 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
|
1
18
|
# Indexer class for <http://sidekiq.org>
|
2
19
|
#
|
3
20
|
# Run me with:
|
@@ -1,3 +1,20 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
|
1
18
|
require 'test_helper'
|
2
19
|
require 'sidekiq/api'
|
3
20
|
|
@@ -1,3 +1,20 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
|
1
18
|
require 'test_helper'
|
2
19
|
|
3
20
|
class SearchControllerTest < ActionController::TestCase
|
@@ -1,3 +1,20 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
|
1
18
|
module Searchable
|
2
19
|
extend ActiveSupport::Concern
|
3
20
|
|
@@ -1,3 +1,20 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
|
1
18
|
module Searchable
|
2
19
|
extend ActiveSupport::Concern
|
3
20
|
|
@@ -1,3 +1,20 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
|
1
18
|
require 'zlib'
|
2
19
|
require 'yaml'
|
3
20
|
|
@@ -1,3 +1,20 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
|
1
18
|
require 'spec_helper'
|
2
19
|
|
3
20
|
describe 'ActiveSupport::Instrumentation integration' do
|
data/spec/lograge_spec.rb
CHANGED
@@ -1,3 +1,37 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
|
18
|
+
|
19
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
20
|
+
# license agreements. See the NOTICE file distributed with
|
21
|
+
# this work for additional information regarding copyright
|
22
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
23
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
24
|
+
# not use this file except in compliance with the License.
|
25
|
+
# You may obtain a copy of the License at
|
26
|
+
#
|
27
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
28
|
+
#
|
29
|
+
# Unless required by applicable law or agreed to in writing,
|
30
|
+
# software distributed under the License is distributed on an
|
31
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
32
|
+
# KIND, either express or implied. See the License for the
|
33
|
+
# specific language governing permissions and limitations
|
34
|
+
# under the License.
|
1
35
|
require 'spec_helper'
|
2
36
|
require 'action_pack'
|
3
37
|
require 'lograge'
|
data/spec/spec_helper.rb
CHANGED
@@ -1,3 +1,20 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
|
1
18
|
require 'pry-nav'
|
2
19
|
require 'active_record'
|
3
20
|
require 'elasticsearch/model'
|
@@ -20,6 +37,7 @@ RSpec.configure do |config|
|
|
20
37
|
tracer.formatter = lambda { |s, d, p, m| "#{m.gsub(/^.*$/) { |n| ' ' + n }.ansi(:faint)}\n" }
|
21
38
|
Elasticsearch::Model.client = Elasticsearch::Client.new host: ELASTICSEARCH_URL,
|
22
39
|
tracer: (ENV['QUIET'] ? nil : tracer)
|
40
|
+
puts "Elasticsearch Version: #{Elasticsearch::Model.client.info['version']}"
|
23
41
|
|
24
42
|
unless ActiveRecord::Base.connected?
|
25
43
|
ActiveRecord::Base.establish_connection( :adapter => 'sqlite3', :database => ":memory:" )
|