├── .gitignore
├── Gemfile
├── Gemfile.lock
├── Rakefile
├── app
├── assets
│ ├── images
│ │ └── .keep
│ ├── javascripts
│ │ └── application.js
│ └── stylesheets
│ │ └── application.css
├── controllers
│ ├── application_controller.rb
│ ├── concerns
│ │ └── .keep
│ ├── definition_controller.rb
│ ├── many_definitions_controller.rb
│ ├── quick_search_controller.rb
│ └── rich_search_controller.rb
├── helpers
│ └── application_helper.rb
├── mailers
│ └── .keep
├── models
│ ├── .keep
│ ├── concerns
│ │ └── .keep
│ ├── definition.rb
│ ├── quote.rb
│ ├── word.rb
│ └── word_relationship.rb
└── views
│ └── layouts
│ └── application.html.erb
├── benchmark
├── definition_domain_urls.txt
├── definition_postgresql_urls.txt
├── many_definitions_domain_urls.txt
├── many_definitions_postgresql_urls.txt
├── quick_search_domain_urls.txt
├── quick_search_pluck_urls.txt
├── quick_search_postgresql_urls.txt
├── rich_search_domain_urls.txt
├── rich_search_postgresql_urls.txt
├── rich_search_select_all_urls.txt
└── words.txt
├── bin
├── bundle
├── rails
├── rake
├── setup
└── spring
├── config.ru
├── config
├── application.rb
├── boot.rb
├── database.yml
├── environment.rb
├── environments
│ ├── development.rb
│ ├── production.rb
│ └── test.rb
├── initializers
│ ├── assets.rb
│ ├── backtrace_silencers.rb
│ ├── cookies_serializer.rb
│ ├── db.rb
│ ├── filter_parameter_logging.rb
│ ├── inflections.rb
│ ├── mime_types.rb
│ ├── session_store.rb
│ └── wrap_parameters.rb
├── locales
│ └── en.yml
├── routes.rb
├── secrets.yml
└── unicorn.rb
├── db
├── migrate
│ ├── 20130114233033_create_words.rb
│ ├── 20130114233931_create_definitions.rb
│ ├── 20130114234642_create_quotes.rb
│ └── 20130114235036_create_word_relationships.rb
├── seeds.rb
└── structure.sql
├── lib
├── assets
│ └── .keep
└── tasks
│ ├── .keep
│ ├── benchmark_run.rake
│ └── benchmark_setup.rake
├── log
└── .keep
├── public
├── 404.html
├── 422.html
├── 500.html
├── favicon.ico
└── robots.txt
├── readme.markdown
└── vendor
└── assets
├── javascripts
└── .keep
└── stylesheets
└── .keep
/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files for more about ignoring files.
2 | #
3 | # If you find yourself ignoring temporary files generated by your text editor
4 | # or operating system, you probably want to add a global ignore instead:
5 | # git config --global core.excludesfile '~/.gitignore_global'
6 |
7 | # Ignore bundler config.
8 | /.bundle
9 |
10 | # Ignore all logfiles and tempfiles.
11 | /log/*
12 | !/log/.keep
13 | /tmp
14 |
--------------------------------------------------------------------------------
/Gemfile:
--------------------------------------------------------------------------------
1 | source 'https://rubygems.org'
2 |
3 | gem 'rails', '4.2.1'
4 | gem 'pg'
5 | gem 'jbuilder', '~> 2.0'
6 | gem 'terminal-table'
7 | gem 'unicorn'
8 | gem 'yajl-ruby', require: 'yajl'
9 |
--------------------------------------------------------------------------------
/Gemfile.lock:
--------------------------------------------------------------------------------
1 | GEM
2 | remote: https://rubygems.org/
3 | specs:
4 | actionmailer (4.2.1)
5 | actionpack (= 4.2.1)
6 | actionview (= 4.2.1)
7 | activejob (= 4.2.1)
8 | mail (~> 2.5, >= 2.5.4)
9 | rails-dom-testing (~> 1.0, >= 1.0.5)
10 | actionpack (4.2.1)
11 | actionview (= 4.2.1)
12 | activesupport (= 4.2.1)
13 | rack (~> 1.6)
14 | rack-test (~> 0.6.2)
15 | rails-dom-testing (~> 1.0, >= 1.0.5)
16 | rails-html-sanitizer (~> 1.0, >= 1.0.1)
17 | actionview (4.2.1)
18 | activesupport (= 4.2.1)
19 | builder (~> 3.1)
20 | erubis (~> 2.7.0)
21 | rails-dom-testing (~> 1.0, >= 1.0.5)
22 | rails-html-sanitizer (~> 1.0, >= 1.0.1)
23 | activejob (4.2.1)
24 | activesupport (= 4.2.1)
25 | globalid (>= 0.3.0)
26 | activemodel (4.2.1)
27 | activesupport (= 4.2.1)
28 | builder (~> 3.1)
29 | activerecord (4.2.1)
30 | activemodel (= 4.2.1)
31 | activesupport (= 4.2.1)
32 | arel (~> 6.0)
33 | activesupport (4.2.1)
34 | i18n (~> 0.7)
35 | json (~> 1.7, >= 1.7.7)
36 | minitest (~> 5.1)
37 | thread_safe (~> 0.3, >= 0.3.4)
38 | tzinfo (~> 1.1)
39 | arel (6.0.0)
40 | builder (3.2.3)
41 | concurrent-ruby (1.1.5)
42 | crass (1.0.5)
43 | erubis (2.7.0)
44 | globalid (0.3.3)
45 | activesupport (>= 4.1.0)
46 | i18n (0.9.5)
47 | concurrent-ruby (~> 1.0)
48 | jbuilder (2.2.12)
49 | activesupport (>= 3.0.0, < 5)
50 | multi_json (~> 1.2)
51 | json (1.8.6)
52 | kgio (2.9.3)
53 | loofah (2.3.1)
54 | crass (~> 1.0.2)
55 | nokogiri (>= 1.5.9)
56 | mail (2.6.3)
57 | mime-types (>= 1.16, < 3)
58 | mime-types (2.4.3)
59 | mini_portile2 (2.4.0)
60 | minitest (5.13.0)
61 | multi_json (1.14.1)
62 | nokogiri (1.10.5)
63 | mini_portile2 (~> 2.4.0)
64 | pg (0.18.1)
65 | rack (1.6.12)
66 | rack-test (0.6.3)
67 | rack (>= 1.0)
68 | rails (4.2.1)
69 | actionmailer (= 4.2.1)
70 | actionpack (= 4.2.1)
71 | actionview (= 4.2.1)
72 | activejob (= 4.2.1)
73 | activemodel (= 4.2.1)
74 | activerecord (= 4.2.1)
75 | activesupport (= 4.2.1)
76 | bundler (>= 1.3.0, < 2.0)
77 | railties (= 4.2.1)
78 | sprockets-rails
79 | rails-deprecated_sanitizer (1.0.3)
80 | activesupport (>= 4.2.0.alpha)
81 | rails-dom-testing (1.0.9)
82 | activesupport (>= 4.2.0, < 5.0)
83 | nokogiri (~> 1.6)
84 | rails-deprecated_sanitizer (>= 1.0.1)
85 | rails-html-sanitizer (1.3.0)
86 | loofah (~> 2.3)
87 | railties (4.2.1)
88 | actionpack (= 4.2.1)
89 | activesupport (= 4.2.1)
90 | rake (>= 0.8.7)
91 | thor (>= 0.18.1, < 2.0)
92 | raindrops (0.13.0)
93 | rake (10.4.2)
94 | sprockets (4.0.0)
95 | concurrent-ruby (~> 1.0)
96 | rack (> 1, < 3)
97 | sprockets-rails (3.2.1)
98 | actionpack (>= 4.0)
99 | activesupport (>= 4.0)
100 | sprockets (>= 3.0.0)
101 | terminal-table (1.4.5)
102 | thor (0.19.1)
103 | thread_safe (0.3.6)
104 | tzinfo (1.2.5)
105 | thread_safe (~> 0.1)
106 | unicorn (4.8.3)
107 | kgio (~> 2.6)
108 | rack
109 | raindrops (~> 0.7)
110 | yajl-ruby (1.3.1)
111 |
112 | PLATFORMS
113 | ruby
114 |
115 | DEPENDENCIES
116 | jbuilder (~> 2.0)
117 | pg
118 | rails (= 4.2.1)
119 | terminal-table
120 | unicorn
121 | yajl-ruby
122 |
--------------------------------------------------------------------------------
/Rakefile:
--------------------------------------------------------------------------------
1 | # Add your own tasks in files placed in lib/tasks ending in .rake,
2 | # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3 |
4 | require File.expand_path('../config/application', __FILE__)
5 |
6 | Rails.application.load_tasks
7 |
--------------------------------------------------------------------------------
/app/assets/images/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jackc/json_api_bench/8482a2fd95bb15aee649a5b7887e4943e6d8a3a1/app/assets/images/.keep
--------------------------------------------------------------------------------
/app/assets/javascripts/application.js:
--------------------------------------------------------------------------------
1 | // This is a manifest file that'll be compiled into application.js, which will include all the files
2 | // listed below.
3 | //
4 | // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5 | // or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path.
6 | //
7 | // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8 | // compiled file.
9 | //
10 | // Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
11 | // about supported directives.
12 | //
13 | //= require jquery
14 | //= require jquery_ujs
15 | //= require turbolinks
16 | //= require_tree .
17 |
--------------------------------------------------------------------------------
/app/assets/stylesheets/application.css:
--------------------------------------------------------------------------------
1 | /*
2 | * This is a manifest file that'll be compiled into application.css, which will include all the files
3 | * listed below.
4 | *
5 | * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
6 | * or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path.
7 | *
8 | * You're free to add application-wide styles to this file and they'll appear at the bottom of the
9 | * compiled file so the styles you add here take precedence over styles defined in any styles
10 | * defined in the other CSS/SCSS files in this directory. It is generally better to create a new
11 | * file per style scope.
12 | *
13 | *= require_tree .
14 | *= require_self
15 | */
16 |
--------------------------------------------------------------------------------
/app/controllers/application_controller.rb:
--------------------------------------------------------------------------------
1 | class ApplicationController < ActionController::Base
2 | protect_from_forgery
3 | end
4 |
--------------------------------------------------------------------------------
/app/controllers/concerns/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jackc/json_api_bench/8482a2fd95bb15aee649a5b7887e4943e6d8a3a1/app/controllers/concerns/.keep
--------------------------------------------------------------------------------
/app/controllers/definition_controller.rb:
--------------------------------------------------------------------------------
1 | class DefinitionController < ApplicationController
2 | def domain
3 | word = Word
4 | .includes(:definitions, :quotes, :synonyms, :antonyms)
5 | .where(text: params[:word])
6 | .first
7 |
8 | for_json = {
9 | text: word.text,
10 | pronunciation: word.pronunciation,
11 | definitions: word.definitions.map { |d| d.attributes.slice "part_of_speech", "body" },
12 | quotes: word.quotes.map { |q| q.attributes.slice "body", "source" },
13 | synonyms: word.synonyms.map(&:text),
14 | antonyms: word.antonyms.map(&:text)
15 | }
16 |
17 | render json: for_json
18 | end
19 |
20 | def postgresql
21 | sql = <<-SQL
22 | select row_to_json(t)
23 | from (
24 | select text, pronunciation,
25 | (
26 | select array_to_json(array_agg(row_to_json(d)))
27 | from (
28 | select part_of_speech, body
29 | from definitions
30 | where word_id=words.id
31 | order by position asc
32 | ) d
33 | ) as definitions,
34 | (
35 | select array_to_json(array_agg(row_to_json(q)))
36 | from (
37 | select body, source
38 | from quotes
39 | where word_id=words.id
40 | ) q
41 | ) as quotes,
42 | (
43 | select array_to_json(array_agg(text))
44 | from words related_words
45 | join word_relationships on related_words.id=word_relationships.destination_id
46 | where source_id=words.id
47 | and relationship='synonym'
48 | ) as synonyms,
49 | (
50 | select array_to_json(array_agg(text))
51 | from words related_words
52 | join word_relationships on related_words.id=word_relationships.destination_id
53 | where source_id=words.id
54 | and relationship='antonym'
55 | ) as antonyms
56 | from words
57 | where text = #{DB.quote(params[:word])}
58 | ) t
59 | SQL
60 |
61 | render json: DB.select_value(sql)
62 | end
63 | end
64 |
--------------------------------------------------------------------------------
/app/controllers/many_definitions_controller.rb:
--------------------------------------------------------------------------------
1 | class ManyDefinitionsController < ApplicationController
2 | def domain
3 | words = Word
4 | .includes(:definitions, :quotes, :synonyms, :antonyms)
5 | .where('words.text like ?', "#{params[:word]}%")
6 | .all
7 |
8 | for_json = words.map do |word|
9 | {
10 | text: word.text,
11 | pronunciation: word.pronunciation,
12 | definitions: word.definitions.map { |d| d.attributes.slice "part_of_speech", "body" },
13 | quotes: word.quotes.map { |q| q.attributes.slice "body", "source" },
14 | synonyms: word.synonyms.map(&:text),
15 | antonyms: word.antonyms.map(&:text)
16 | }
17 | end
18 |
19 | render json: for_json
20 | end
21 |
22 | def postgresql
23 | sql = <<-SQL
24 | select array_to_json(array_agg(row_to_json(t)))
25 | from (
26 | select text, pronunciation,
27 | (
28 | select array_to_json(array_agg(row_to_json(d)))
29 | from (
30 | select part_of_speech, body
31 | from definitions
32 | where word_id=words.id
33 | order by position asc
34 | ) d
35 | ) as definitions,
36 | (
37 | select array_to_json(array_agg(row_to_json(q)))
38 | from (
39 | select body, source
40 | from quotes
41 | where word_id=words.id
42 | ) q
43 | ) as quotes,
44 | (
45 | select array_to_json(array_agg(text))
46 | from words related_words
47 | join word_relationships on related_words.id=word_relationships.destination_id
48 | where source_id=words.id
49 | and relationship='synonym'
50 | ) as synonyms,
51 | (
52 | select array_to_json(array_agg(text))
53 | from words related_words
54 | join word_relationships on related_words.id=word_relationships.destination_id
55 | where source_id=words.id
56 | and relationship='antonym'
57 | ) as antonyms
58 | from words
59 | where text like #{DB.quote("#{params[:word]}%")}
60 | ) t
61 | SQL
62 |
63 | render json: DB.select_value(sql)
64 | end
65 | end
66 |
--------------------------------------------------------------------------------
/app/controllers/quick_search_controller.rb:
--------------------------------------------------------------------------------
1 | class QuickSearchController < ApplicationController
2 | def domain
3 | words = Word
4 | .where('text like ?', "#{params[:word]}%")
5 | .order('text asc')
6 | .limit(10)
7 |
8 | render json: words.map(&:text)
9 | end
10 |
11 | def pluck
12 | word_texts = Word
13 | .where('text like ?', "#{params[:word]}%")
14 | .order('text asc')
15 | .limit(10)
16 | .pluck(:text)
17 | render json: word_texts
18 | end
19 |
20 | def postgresql
21 | sql = <<-SQL
22 | select array_to_json(array_agg(text))
23 | from (
24 | select text
25 | from words
26 | where text like #{DB.quote("#{params[:word]}%")}
27 | order by text asc
28 | limit 10
29 | ) t
30 | SQL
31 |
32 | render json: DB.select_value(sql)
33 | end
34 | end
35 |
--------------------------------------------------------------------------------
/app/controllers/rich_search_controller.rb:
--------------------------------------------------------------------------------
1 | class RichSearchController < ApplicationController
2 | def domain
3 | words = Word
4 | .includes(:first_definition)
5 | .where('text like ?', "#{params[:word]}%")
6 | .order('text asc')
7 | .limit(10)
8 |
9 | for_json = words.map do |word|
10 | {
11 | text: word.text,
12 | pronunciation: word.pronunciation,
13 | part_of_speech: word.first_definition.part_of_speech,
14 | definition: word.first_definition.body
15 | }
16 | end
17 |
18 | render json: for_json
19 | end
20 |
21 | def select_all
22 | sql = Word
23 | .select('text, pronunciation, part_of_speech, body as definition')
24 | .joins(:first_definition)
25 | .where('text like ?', "#{params[:word]}%")
26 | .order('text asc')
27 | .limit(10)
28 | .to_sql
29 |
30 | render json: DB.select_all(sql)
31 | end
32 |
33 | def postgresql
34 | sql = <<-SQL
35 | select array_to_json(array_agg(row_to_json(t)))
36 | from (
37 | select text, pronunciation, part_of_speech, body as definition
38 | from words
39 | join definitions on words.id=definitions.word_id
40 | where text like #{DB.quote("#{params[:word]}%")}
41 | and position=0
42 | order by text asc
43 | limit 10
44 | ) t
45 | SQL
46 |
47 | render json: DB.select_value(sql)
48 | end
49 | end
50 |
--------------------------------------------------------------------------------
/app/helpers/application_helper.rb:
--------------------------------------------------------------------------------
1 | module ApplicationHelper
2 | end
3 |
--------------------------------------------------------------------------------
/app/mailers/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jackc/json_api_bench/8482a2fd95bb15aee649a5b7887e4943e6d8a3a1/app/mailers/.keep
--------------------------------------------------------------------------------
/app/models/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jackc/json_api_bench/8482a2fd95bb15aee649a5b7887e4943e6d8a3a1/app/models/.keep
--------------------------------------------------------------------------------
/app/models/concerns/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jackc/json_api_bench/8482a2fd95bb15aee649a5b7887e4943e6d8a3a1/app/models/concerns/.keep
--------------------------------------------------------------------------------
/app/models/definition.rb:
--------------------------------------------------------------------------------
1 | class Definition < ActiveRecord::Base
2 | belongs_to :word
3 | end
4 |
--------------------------------------------------------------------------------
/app/models/quote.rb:
--------------------------------------------------------------------------------
1 | class Quote < ActiveRecord::Base
2 | belongs_to :word
3 | end
4 |
--------------------------------------------------------------------------------
/app/models/word.rb:
--------------------------------------------------------------------------------
1 | class Word < ActiveRecord::Base
2 | has_many :definitions, -> { order('position asc') }
3 | has_one :first_definition,
4 | -> { where(position: 0) },
5 | class_name: 'Definition'
6 | has_many :quotes
7 | has_many :synonym_relationships,
8 | -> { where(relationship: 'synonym') },
9 | class_name: 'WordRelationship',
10 | foreign_key: 'source_id'
11 | has_many :antonym_relationships,
12 | -> { where(relationship: 'antonym') },
13 | class_name: 'WordRelationship',
14 | foreign_key: 'source_id'
15 | has_many :synonyms, through: :synonym_relationships,
16 | source: 'destination'
17 | has_many :antonyms, through: :antonym_relationships,
18 | source: 'destination'
19 | end
20 |
--------------------------------------------------------------------------------
/app/models/word_relationship.rb:
--------------------------------------------------------------------------------
1 | class WordRelationship < ActiveRecord::Base
2 | belongs_to :source, class_name: 'Word'
3 | belongs_to :destination, class_name: 'Word'
4 | end
5 |
--------------------------------------------------------------------------------
/app/views/layouts/application.html.erb:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | JsonApiBench
5 | <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
6 | <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
7 | <%= csrf_meta_tags %>
8 |
9 |
10 |
11 | <%= yield %>
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/benchmark/definition_domain_urls.txt:
--------------------------------------------------------------------------------
1 | http://localhost:8080/definition/domain?word=neuropterous
2 | http://localhost:8080/definition/domain?word=reputableness
3 | http://localhost:8080/definition/domain?word=parasitical
4 | http://localhost:8080/definition/domain?word=nephros
5 | http://localhost:8080/definition/domain?word=intercondenser
6 | http://localhost:8080/definition/domain?word=polystyle
7 | http://localhost:8080/definition/domain?word=jaculatory
8 | http://localhost:8080/definition/domain?word=unclimbing
9 | http://localhost:8080/definition/domain?word=vergency
10 | http://localhost:8080/definition/domain?word=hussyness
11 | http://localhost:8080/definition/domain?word=squamellate
12 | http://localhost:8080/definition/domain?word=nagman
13 | http://localhost:8080/definition/domain?word=opthalmophorium
14 | http://localhost:8080/definition/domain?word=unpenitentness
15 | http://localhost:8080/definition/domain?word=beauseant
16 | http://localhost:8080/definition/domain?word=bloodflower
17 | http://localhost:8080/definition/domain?word=anamniotic
18 | http://localhost:8080/definition/domain?word=termitophilous
19 | http://localhost:8080/definition/domain?word=snobber
20 | http://localhost:8080/definition/domain?word=trochleate
21 | http://localhost:8080/definition/domain?word=warship
22 | http://localhost:8080/definition/domain?word=stylopid
23 | http://localhost:8080/definition/domain?word=limulid
24 | http://localhost:8080/definition/domain?word=somatotype
25 | http://localhost:8080/definition/domain?word=casula
26 | http://localhost:8080/definition/domain?word=polythene
27 | http://localhost:8080/definition/domain?word=coadunite
28 | http://localhost:8080/definition/domain?word=unvocal
29 | http://localhost:8080/definition/domain?word=nakedish
30 | http://localhost:8080/definition/domain?word=intershock
31 | http://localhost:8080/definition/domain?word=exodermis
32 | http://localhost:8080/definition/domain?word=snailflower
33 | http://localhost:8080/definition/domain?word=akinesia
34 | http://localhost:8080/definition/domain?word=overcall
35 | http://localhost:8080/definition/domain?word=armoried
36 | http://localhost:8080/definition/domain?word=phytalbumose
37 | http://localhost:8080/definition/domain?word=photoelectricity
38 | http://localhost:8080/definition/domain?word=agathism
39 | http://localhost:8080/definition/domain?word=unveiler
40 | http://localhost:8080/definition/domain?word=rasp
41 | http://localhost:8080/definition/domain?word=hunanese
42 | http://localhost:8080/definition/domain?word=kusti
43 | http://localhost:8080/definition/domain?word=reimportune
44 | http://localhost:8080/definition/domain?word=affectationist
45 | http://localhost:8080/definition/domain?word=pulsatility
46 | http://localhost:8080/definition/domain?word=pyocele
47 | http://localhost:8080/definition/domain?word=draftsmanship
48 | http://localhost:8080/definition/domain?word=cobwebbery
49 | http://localhost:8080/definition/domain?word=griffade
50 | http://localhost:8080/definition/domain?word=hyoepiglottidean
51 | http://localhost:8080/definition/domain?word=oxalemia
52 | http://localhost:8080/definition/domain?word=lemurian
53 | http://localhost:8080/definition/domain?word=withholdable
54 | http://localhost:8080/definition/domain?word=chartless
55 | http://localhost:8080/definition/domain?word=dullish
56 | http://localhost:8080/definition/domain?word=decorator
57 | http://localhost:8080/definition/domain?word=prosodetic
58 | http://localhost:8080/definition/domain?word=fathom
59 | http://localhost:8080/definition/domain?word=massiest
60 | http://localhost:8080/definition/domain?word=expurgative
61 | http://localhost:8080/definition/domain?word=deditician
62 | http://localhost:8080/definition/domain?word=clumpish
63 | http://localhost:8080/definition/domain?word=pseudoerythrin
64 | http://localhost:8080/definition/domain?word=cotarnine
65 | http://localhost:8080/definition/domain?word=drawstring
66 | http://localhost:8080/definition/domain?word=indigitate
67 | http://localhost:8080/definition/domain?word=tentacula
68 | http://localhost:8080/definition/domain?word=choragion
69 | http://localhost:8080/definition/domain?word=titanical
70 | http://localhost:8080/definition/domain?word=christ
71 | http://localhost:8080/definition/domain?word=wapacut
72 | http://localhost:8080/definition/domain?word=metaconid
73 | http://localhost:8080/definition/domain?word=autogenetically
74 | http://localhost:8080/definition/domain?word=pikeman
75 | http://localhost:8080/definition/domain?word=sectionalism
76 | http://localhost:8080/definition/domain?word=brangling
77 | http://localhost:8080/definition/domain?word=gliosa
78 | http://localhost:8080/definition/domain?word=copperbottom
79 | http://localhost:8080/definition/domain?word=gymnocarpic
80 | http://localhost:8080/definition/domain?word=cordon
81 | http://localhost:8080/definition/domain?word=heteromyaria
82 | http://localhost:8080/definition/domain?word=labionasal
83 | http://localhost:8080/definition/domain?word=cataclastic
84 | http://localhost:8080/definition/domain?word=resift
85 | http://localhost:8080/definition/domain?word=abelia
86 | http://localhost:8080/definition/domain?word=ganglioform
87 | http://localhost:8080/definition/domain?word=nude
88 | http://localhost:8080/definition/domain?word=coenoecic
89 | http://localhost:8080/definition/domain?word=pentecostal
90 | http://localhost:8080/definition/domain?word=unsew
91 | http://localhost:8080/definition/domain?word=homeotic
92 | http://localhost:8080/definition/domain?word=reassumption
93 | http://localhost:8080/definition/domain?word=deluding
94 | http://localhost:8080/definition/domain?word=safi
95 | http://localhost:8080/definition/domain?word=halieutics
96 | http://localhost:8080/definition/domain?word=ekamanganese
97 | http://localhost:8080/definition/domain?word=anele
98 | http://localhost:8080/definition/domain?word=broguish
99 | http://localhost:8080/definition/domain?word=timberwright
100 | http://localhost:8080/definition/domain?word=bluebutton
101 | http://localhost:8080/definition/domain?word=anticomplementary
102 | http://localhost:8080/definition/domain?word=granulative
103 | http://localhost:8080/definition/domain?word=semicircumvolution
104 | http://localhost:8080/definition/domain?word=vestigian
105 | http://localhost:8080/definition/domain?word=gamostelic
106 | http://localhost:8080/definition/domain?word=perturbment
107 | http://localhost:8080/definition/domain?word=pinda
108 | http://localhost:8080/definition/domain?word=perovskite
109 | http://localhost:8080/definition/domain?word=firmisternia
110 | http://localhost:8080/definition/domain?word=valoniaceous
111 | http://localhost:8080/definition/domain?word=metaparapteral
112 | http://localhost:8080/definition/domain?word=tribalism
113 | http://localhost:8080/definition/domain?word=rubianic
114 | http://localhost:8080/definition/domain?word=hoist
115 | http://localhost:8080/definition/domain?word=agoge
116 | http://localhost:8080/definition/domain?word=lateritic
117 | http://localhost:8080/definition/domain?word=uncontainably
118 | http://localhost:8080/definition/domain?word=phylogeny
119 | http://localhost:8080/definition/domain?word=uncontroverted
120 | http://localhost:8080/definition/domain?word=rosario
121 | http://localhost:8080/definition/domain?word=awellimiden
122 | http://localhost:8080/definition/domain?word=nonpress
123 | http://localhost:8080/definition/domain?word=vasospasm
124 | http://localhost:8080/definition/domain?word=pyrotritartric
125 | http://localhost:8080/definition/domain?word=manurially
126 | http://localhost:8080/definition/domain?word=praisefully
127 | http://localhost:8080/definition/domain?word=cautelously
128 | http://localhost:8080/definition/domain?word=hyalotype
129 | http://localhost:8080/definition/domain?word=reclinable
130 | http://localhost:8080/definition/domain?word=homovanillic
131 | http://localhost:8080/definition/domain?word=proclamation
132 | http://localhost:8080/definition/domain?word=mesitite
133 | http://localhost:8080/definition/domain?word=druse
134 | http://localhost:8080/definition/domain?word=hydrazide
135 | http://localhost:8080/definition/domain?word=phragmoid
136 | http://localhost:8080/definition/domain?word=polygenism
137 | http://localhost:8080/definition/domain?word=phytoteratologist
138 | http://localhost:8080/definition/domain?word=recast
139 | http://localhost:8080/definition/domain?word=castalian
140 | http://localhost:8080/definition/domain?word=mick
141 | http://localhost:8080/definition/domain?word=unhoaxed
142 | http://localhost:8080/definition/domain?word=knock
143 | http://localhost:8080/definition/domain?word=misbehave
144 | http://localhost:8080/definition/domain?word=ungarland
145 | http://localhost:8080/definition/domain?word=terminableness
146 | http://localhost:8080/definition/domain?word=sapodilla
147 | http://localhost:8080/definition/domain?word=discolorment
148 | http://localhost:8080/definition/domain?word=unrequiting
149 | http://localhost:8080/definition/domain?word=scrobe
150 | http://localhost:8080/definition/domain?word=zymin
151 | http://localhost:8080/definition/domain?word=erotopathic
152 | http://localhost:8080/definition/domain?word=unbetrayed
153 | http://localhost:8080/definition/domain?word=asteraceous
154 | http://localhost:8080/definition/domain?word=provicariate
155 | http://localhost:8080/definition/domain?word=eelware
156 | http://localhost:8080/definition/domain?word=trochantinian
157 | http://localhost:8080/definition/domain?word=thermopolymerization
158 | http://localhost:8080/definition/domain?word=piney
159 | http://localhost:8080/definition/domain?word=meditrinalia
160 | http://localhost:8080/definition/domain?word=deradenoncus
161 | http://localhost:8080/definition/domain?word=sandbox
162 | http://localhost:8080/definition/domain?word=necktieless
163 | http://localhost:8080/definition/domain?word=shona
164 | http://localhost:8080/definition/domain?word=cheiropatagium
165 | http://localhost:8080/definition/domain?word=ait
166 | http://localhost:8080/definition/domain?word=typewriter
167 | http://localhost:8080/definition/domain?word=coinheritance
168 | http://localhost:8080/definition/domain?word=leewardness
169 | http://localhost:8080/definition/domain?word=skither
170 | http://localhost:8080/definition/domain?word=floriscope
171 | http://localhost:8080/definition/domain?word=paranthelion
172 | http://localhost:8080/definition/domain?word=depolarize
173 | http://localhost:8080/definition/domain?word=babelism
174 | http://localhost:8080/definition/domain?word=barbas
175 | http://localhost:8080/definition/domain?word=taxology
176 | http://localhost:8080/definition/domain?word=harmless
177 | http://localhost:8080/definition/domain?word=anticaste
178 | http://localhost:8080/definition/domain?word=unstrengthened
179 | http://localhost:8080/definition/domain?word=scrobis
180 | http://localhost:8080/definition/domain?word=debarration
181 | http://localhost:8080/definition/domain?word=forehoof
182 | http://localhost:8080/definition/domain?word=querecho
183 | http://localhost:8080/definition/domain?word=postvertebral
184 | http://localhost:8080/definition/domain?word=holly
185 | http://localhost:8080/definition/domain?word=algometrical
186 | http://localhost:8080/definition/domain?word=anywhen
187 | http://localhost:8080/definition/domain?word=phloretic
188 | http://localhost:8080/definition/domain?word=priodon
189 | http://localhost:8080/definition/domain?word=smyrniote
190 | http://localhost:8080/definition/domain?word=jesu
191 | http://localhost:8080/definition/domain?word=microscopize
192 | http://localhost:8080/definition/domain?word=harmonometer
193 | http://localhost:8080/definition/domain?word=grabbling
194 | http://localhost:8080/definition/domain?word=usward
195 | http://localhost:8080/definition/domain?word=spirochetosis
196 | http://localhost:8080/definition/domain?word=overswell
197 | http://localhost:8080/definition/domain?word=holocaust
198 | http://localhost:8080/definition/domain?word=iamb
199 | http://localhost:8080/definition/domain?word=dough
200 | http://localhost:8080/definition/domain?word=abrupt
--------------------------------------------------------------------------------
/benchmark/definition_postgresql_urls.txt:
--------------------------------------------------------------------------------
1 | http://localhost:8080/definition/postgresql?word=neuropterous
2 | http://localhost:8080/definition/postgresql?word=reputableness
3 | http://localhost:8080/definition/postgresql?word=parasitical
4 | http://localhost:8080/definition/postgresql?word=nephros
5 | http://localhost:8080/definition/postgresql?word=intercondenser
6 | http://localhost:8080/definition/postgresql?word=polystyle
7 | http://localhost:8080/definition/postgresql?word=jaculatory
8 | http://localhost:8080/definition/postgresql?word=unclimbing
9 | http://localhost:8080/definition/postgresql?word=vergency
10 | http://localhost:8080/definition/postgresql?word=hussyness
11 | http://localhost:8080/definition/postgresql?word=squamellate
12 | http://localhost:8080/definition/postgresql?word=nagman
13 | http://localhost:8080/definition/postgresql?word=opthalmophorium
14 | http://localhost:8080/definition/postgresql?word=unpenitentness
15 | http://localhost:8080/definition/postgresql?word=beauseant
16 | http://localhost:8080/definition/postgresql?word=bloodflower
17 | http://localhost:8080/definition/postgresql?word=anamniotic
18 | http://localhost:8080/definition/postgresql?word=termitophilous
19 | http://localhost:8080/definition/postgresql?word=snobber
20 | http://localhost:8080/definition/postgresql?word=trochleate
21 | http://localhost:8080/definition/postgresql?word=warship
22 | http://localhost:8080/definition/postgresql?word=stylopid
23 | http://localhost:8080/definition/postgresql?word=limulid
24 | http://localhost:8080/definition/postgresql?word=somatotype
25 | http://localhost:8080/definition/postgresql?word=casula
26 | http://localhost:8080/definition/postgresql?word=polythene
27 | http://localhost:8080/definition/postgresql?word=coadunite
28 | http://localhost:8080/definition/postgresql?word=unvocal
29 | http://localhost:8080/definition/postgresql?word=nakedish
30 | http://localhost:8080/definition/postgresql?word=intershock
31 | http://localhost:8080/definition/postgresql?word=exodermis
32 | http://localhost:8080/definition/postgresql?word=snailflower
33 | http://localhost:8080/definition/postgresql?word=akinesia
34 | http://localhost:8080/definition/postgresql?word=overcall
35 | http://localhost:8080/definition/postgresql?word=armoried
36 | http://localhost:8080/definition/postgresql?word=phytalbumose
37 | http://localhost:8080/definition/postgresql?word=photoelectricity
38 | http://localhost:8080/definition/postgresql?word=agathism
39 | http://localhost:8080/definition/postgresql?word=unveiler
40 | http://localhost:8080/definition/postgresql?word=rasp
41 | http://localhost:8080/definition/postgresql?word=hunanese
42 | http://localhost:8080/definition/postgresql?word=kusti
43 | http://localhost:8080/definition/postgresql?word=reimportune
44 | http://localhost:8080/definition/postgresql?word=affectationist
45 | http://localhost:8080/definition/postgresql?word=pulsatility
46 | http://localhost:8080/definition/postgresql?word=pyocele
47 | http://localhost:8080/definition/postgresql?word=draftsmanship
48 | http://localhost:8080/definition/postgresql?word=cobwebbery
49 | http://localhost:8080/definition/postgresql?word=griffade
50 | http://localhost:8080/definition/postgresql?word=hyoepiglottidean
51 | http://localhost:8080/definition/postgresql?word=oxalemia
52 | http://localhost:8080/definition/postgresql?word=lemurian
53 | http://localhost:8080/definition/postgresql?word=withholdable
54 | http://localhost:8080/definition/postgresql?word=chartless
55 | http://localhost:8080/definition/postgresql?word=dullish
56 | http://localhost:8080/definition/postgresql?word=decorator
57 | http://localhost:8080/definition/postgresql?word=prosodetic
58 | http://localhost:8080/definition/postgresql?word=fathom
59 | http://localhost:8080/definition/postgresql?word=massiest
60 | http://localhost:8080/definition/postgresql?word=expurgative
61 | http://localhost:8080/definition/postgresql?word=deditician
62 | http://localhost:8080/definition/postgresql?word=clumpish
63 | http://localhost:8080/definition/postgresql?word=pseudoerythrin
64 | http://localhost:8080/definition/postgresql?word=cotarnine
65 | http://localhost:8080/definition/postgresql?word=drawstring
66 | http://localhost:8080/definition/postgresql?word=indigitate
67 | http://localhost:8080/definition/postgresql?word=tentacula
68 | http://localhost:8080/definition/postgresql?word=choragion
69 | http://localhost:8080/definition/postgresql?word=titanical
70 | http://localhost:8080/definition/postgresql?word=christ
71 | http://localhost:8080/definition/postgresql?word=wapacut
72 | http://localhost:8080/definition/postgresql?word=metaconid
73 | http://localhost:8080/definition/postgresql?word=autogenetically
74 | http://localhost:8080/definition/postgresql?word=pikeman
75 | http://localhost:8080/definition/postgresql?word=sectionalism
76 | http://localhost:8080/definition/postgresql?word=brangling
77 | http://localhost:8080/definition/postgresql?word=gliosa
78 | http://localhost:8080/definition/postgresql?word=copperbottom
79 | http://localhost:8080/definition/postgresql?word=gymnocarpic
80 | http://localhost:8080/definition/postgresql?word=cordon
81 | http://localhost:8080/definition/postgresql?word=heteromyaria
82 | http://localhost:8080/definition/postgresql?word=labionasal
83 | http://localhost:8080/definition/postgresql?word=cataclastic
84 | http://localhost:8080/definition/postgresql?word=resift
85 | http://localhost:8080/definition/postgresql?word=abelia
86 | http://localhost:8080/definition/postgresql?word=ganglioform
87 | http://localhost:8080/definition/postgresql?word=nude
88 | http://localhost:8080/definition/postgresql?word=coenoecic
89 | http://localhost:8080/definition/postgresql?word=pentecostal
90 | http://localhost:8080/definition/postgresql?word=unsew
91 | http://localhost:8080/definition/postgresql?word=homeotic
92 | http://localhost:8080/definition/postgresql?word=reassumption
93 | http://localhost:8080/definition/postgresql?word=deluding
94 | http://localhost:8080/definition/postgresql?word=safi
95 | http://localhost:8080/definition/postgresql?word=halieutics
96 | http://localhost:8080/definition/postgresql?word=ekamanganese
97 | http://localhost:8080/definition/postgresql?word=anele
98 | http://localhost:8080/definition/postgresql?word=broguish
99 | http://localhost:8080/definition/postgresql?word=timberwright
100 | http://localhost:8080/definition/postgresql?word=bluebutton
101 | http://localhost:8080/definition/postgresql?word=anticomplementary
102 | http://localhost:8080/definition/postgresql?word=granulative
103 | http://localhost:8080/definition/postgresql?word=semicircumvolution
104 | http://localhost:8080/definition/postgresql?word=vestigian
105 | http://localhost:8080/definition/postgresql?word=gamostelic
106 | http://localhost:8080/definition/postgresql?word=perturbment
107 | http://localhost:8080/definition/postgresql?word=pinda
108 | http://localhost:8080/definition/postgresql?word=perovskite
109 | http://localhost:8080/definition/postgresql?word=firmisternia
110 | http://localhost:8080/definition/postgresql?word=valoniaceous
111 | http://localhost:8080/definition/postgresql?word=metaparapteral
112 | http://localhost:8080/definition/postgresql?word=tribalism
113 | http://localhost:8080/definition/postgresql?word=rubianic
114 | http://localhost:8080/definition/postgresql?word=hoist
115 | http://localhost:8080/definition/postgresql?word=agoge
116 | http://localhost:8080/definition/postgresql?word=lateritic
117 | http://localhost:8080/definition/postgresql?word=uncontainably
118 | http://localhost:8080/definition/postgresql?word=phylogeny
119 | http://localhost:8080/definition/postgresql?word=uncontroverted
120 | http://localhost:8080/definition/postgresql?word=rosario
121 | http://localhost:8080/definition/postgresql?word=awellimiden
122 | http://localhost:8080/definition/postgresql?word=nonpress
123 | http://localhost:8080/definition/postgresql?word=vasospasm
124 | http://localhost:8080/definition/postgresql?word=pyrotritartric
125 | http://localhost:8080/definition/postgresql?word=manurially
126 | http://localhost:8080/definition/postgresql?word=praisefully
127 | http://localhost:8080/definition/postgresql?word=cautelously
128 | http://localhost:8080/definition/postgresql?word=hyalotype
129 | http://localhost:8080/definition/postgresql?word=reclinable
130 | http://localhost:8080/definition/postgresql?word=homovanillic
131 | http://localhost:8080/definition/postgresql?word=proclamation
132 | http://localhost:8080/definition/postgresql?word=mesitite
133 | http://localhost:8080/definition/postgresql?word=druse
134 | http://localhost:8080/definition/postgresql?word=hydrazide
135 | http://localhost:8080/definition/postgresql?word=phragmoid
136 | http://localhost:8080/definition/postgresql?word=polygenism
137 | http://localhost:8080/definition/postgresql?word=phytoteratologist
138 | http://localhost:8080/definition/postgresql?word=recast
139 | http://localhost:8080/definition/postgresql?word=castalian
140 | http://localhost:8080/definition/postgresql?word=mick
141 | http://localhost:8080/definition/postgresql?word=unhoaxed
142 | http://localhost:8080/definition/postgresql?word=knock
143 | http://localhost:8080/definition/postgresql?word=misbehave
144 | http://localhost:8080/definition/postgresql?word=ungarland
145 | http://localhost:8080/definition/postgresql?word=terminableness
146 | http://localhost:8080/definition/postgresql?word=sapodilla
147 | http://localhost:8080/definition/postgresql?word=discolorment
148 | http://localhost:8080/definition/postgresql?word=unrequiting
149 | http://localhost:8080/definition/postgresql?word=scrobe
150 | http://localhost:8080/definition/postgresql?word=zymin
151 | http://localhost:8080/definition/postgresql?word=erotopathic
152 | http://localhost:8080/definition/postgresql?word=unbetrayed
153 | http://localhost:8080/definition/postgresql?word=asteraceous
154 | http://localhost:8080/definition/postgresql?word=provicariate
155 | http://localhost:8080/definition/postgresql?word=eelware
156 | http://localhost:8080/definition/postgresql?word=trochantinian
157 | http://localhost:8080/definition/postgresql?word=thermopolymerization
158 | http://localhost:8080/definition/postgresql?word=piney
159 | http://localhost:8080/definition/postgresql?word=meditrinalia
160 | http://localhost:8080/definition/postgresql?word=deradenoncus
161 | http://localhost:8080/definition/postgresql?word=sandbox
162 | http://localhost:8080/definition/postgresql?word=necktieless
163 | http://localhost:8080/definition/postgresql?word=shona
164 | http://localhost:8080/definition/postgresql?word=cheiropatagium
165 | http://localhost:8080/definition/postgresql?word=ait
166 | http://localhost:8080/definition/postgresql?word=typewriter
167 | http://localhost:8080/definition/postgresql?word=coinheritance
168 | http://localhost:8080/definition/postgresql?word=leewardness
169 | http://localhost:8080/definition/postgresql?word=skither
170 | http://localhost:8080/definition/postgresql?word=floriscope
171 | http://localhost:8080/definition/postgresql?word=paranthelion
172 | http://localhost:8080/definition/postgresql?word=depolarize
173 | http://localhost:8080/definition/postgresql?word=babelism
174 | http://localhost:8080/definition/postgresql?word=barbas
175 | http://localhost:8080/definition/postgresql?word=taxology
176 | http://localhost:8080/definition/postgresql?word=harmless
177 | http://localhost:8080/definition/postgresql?word=anticaste
178 | http://localhost:8080/definition/postgresql?word=unstrengthened
179 | http://localhost:8080/definition/postgresql?word=scrobis
180 | http://localhost:8080/definition/postgresql?word=debarration
181 | http://localhost:8080/definition/postgresql?word=forehoof
182 | http://localhost:8080/definition/postgresql?word=querecho
183 | http://localhost:8080/definition/postgresql?word=postvertebral
184 | http://localhost:8080/definition/postgresql?word=holly
185 | http://localhost:8080/definition/postgresql?word=algometrical
186 | http://localhost:8080/definition/postgresql?word=anywhen
187 | http://localhost:8080/definition/postgresql?word=phloretic
188 | http://localhost:8080/definition/postgresql?word=priodon
189 | http://localhost:8080/definition/postgresql?word=smyrniote
190 | http://localhost:8080/definition/postgresql?word=jesu
191 | http://localhost:8080/definition/postgresql?word=microscopize
192 | http://localhost:8080/definition/postgresql?word=harmonometer
193 | http://localhost:8080/definition/postgresql?word=grabbling
194 | http://localhost:8080/definition/postgresql?word=usward
195 | http://localhost:8080/definition/postgresql?word=spirochetosis
196 | http://localhost:8080/definition/postgresql?word=overswell
197 | http://localhost:8080/definition/postgresql?word=holocaust
198 | http://localhost:8080/definition/postgresql?word=iamb
199 | http://localhost:8080/definition/postgresql?word=dough
200 | http://localhost:8080/definition/postgresql?word=abrupt
--------------------------------------------------------------------------------
/benchmark/many_definitions_domain_urls.txt:
--------------------------------------------------------------------------------
1 | http://localhost:8080/many_definitions/domain?word=se
2 | http://localhost:8080/many_definitions/domain?word=ne
3 | http://localhost:8080/many_definitions/domain?word=re
4 | http://localhost:8080/many_definitions/domain?word=bo
5 | http://localhost:8080/many_definitions/domain?word=to
6 | http://localhost:8080/many_definitions/domain?word=co
7 | http://localhost:8080/many_definitions/domain?word=ma
8 | http://localhost:8080/many_definitions/domain?word=di
9 | http://localhost:8080/many_definitions/domain?word=bl
10 | http://localhost:8080/many_definitions/domain?word=pe
11 | http://localhost:8080/many_definitions/domain?word=gr
12 | http://localhost:8080/many_definitions/domain?word=br
13 | http://localhost:8080/many_definitions/domain?word=ac
14 | http://localhost:8080/many_definitions/domain?word=th
15 | http://localhost:8080/many_definitions/domain?word=mo
16 | http://localhost:8080/many_definitions/domain?word=be
17 | http://localhost:8080/many_definitions/domain?word=au
18 | http://localhost:8080/many_definitions/domain?word=ba
19 | http://localhost:8080/many_definitions/domain?word=va
20 | http://localhost:8080/many_definitions/domain?word=fe
21 | http://localhost:8080/many_definitions/domain?word=ex
22 | http://localhost:8080/many_definitions/domain?word=na
23 | http://localhost:8080/many_definitions/domain?word=po
24 | http://localhost:8080/many_definitions/domain?word=pr
25 | http://localhost:8080/many_definitions/domain?word=ha
26 | http://localhost:8080/many_definitions/domain?word=en
27 | http://localhost:8080/many_definitions/domain?word=li
28 | http://localhost:8080/many_definitions/domain?word=an
29 | http://localhost:8080/many_definitions/domain?word=ph
30 | http://localhost:8080/many_definitions/domain?word=pa
31 | http://localhost:8080/many_definitions/domain?word=lo
32 | http://localhost:8080/many_definitions/domain?word=ov
33 | http://localhost:8080/many_definitions/domain?word=tr
34 | http://localhost:8080/many_definitions/domain?word=ar
35 | http://localhost:8080/many_definitions/domain?word=bu
36 | http://localhost:8080/many_definitions/domain?word=al
37 | http://localhost:8080/many_definitions/domain?word=hy
38 | http://localhost:8080/many_definitions/domain?word=st
39 | http://localhost:8080/many_definitions/domain?word=fi
40 | http://localhost:8080/many_definitions/domain?word=sc
41 | http://localhost:8080/many_definitions/domain?word=sp
42 | http://localhost:8080/many_definitions/domain?word=mi
43 | http://localhost:8080/many_definitions/domain?word=de
44 | http://localhost:8080/many_definitions/domain?word=me
45 | http://localhost:8080/many_definitions/domain?word=wa
46 | http://localhost:8080/many_definitions/domain?word=te
47 | http://localhost:8080/many_definitions/domain?word=do
48 | http://localhost:8080/many_definitions/domain?word=pi
49 | http://localhost:8080/many_definitions/domain?word=ga
50 | http://localhost:8080/many_definitions/domain?word=ca
--------------------------------------------------------------------------------
/benchmark/many_definitions_postgresql_urls.txt:
--------------------------------------------------------------------------------
1 | http://localhost:8080/many_definitions/postgresql?word=se
2 | http://localhost:8080/many_definitions/postgresql?word=ne
3 | http://localhost:8080/many_definitions/postgresql?word=re
4 | http://localhost:8080/many_definitions/postgresql?word=bo
5 | http://localhost:8080/many_definitions/postgresql?word=to
6 | http://localhost:8080/many_definitions/postgresql?word=co
7 | http://localhost:8080/many_definitions/postgresql?word=ma
8 | http://localhost:8080/many_definitions/postgresql?word=di
9 | http://localhost:8080/many_definitions/postgresql?word=bl
10 | http://localhost:8080/many_definitions/postgresql?word=pe
11 | http://localhost:8080/many_definitions/postgresql?word=gr
12 | http://localhost:8080/many_definitions/postgresql?word=br
13 | http://localhost:8080/many_definitions/postgresql?word=ac
14 | http://localhost:8080/many_definitions/postgresql?word=th
15 | http://localhost:8080/many_definitions/postgresql?word=mo
16 | http://localhost:8080/many_definitions/postgresql?word=be
17 | http://localhost:8080/many_definitions/postgresql?word=au
18 | http://localhost:8080/many_definitions/postgresql?word=ba
19 | http://localhost:8080/many_definitions/postgresql?word=va
20 | http://localhost:8080/many_definitions/postgresql?word=fe
21 | http://localhost:8080/many_definitions/postgresql?word=ex
22 | http://localhost:8080/many_definitions/postgresql?word=na
23 | http://localhost:8080/many_definitions/postgresql?word=po
24 | http://localhost:8080/many_definitions/postgresql?word=pr
25 | http://localhost:8080/many_definitions/postgresql?word=ha
26 | http://localhost:8080/many_definitions/postgresql?word=en
27 | http://localhost:8080/many_definitions/postgresql?word=li
28 | http://localhost:8080/many_definitions/postgresql?word=an
29 | http://localhost:8080/many_definitions/postgresql?word=ph
30 | http://localhost:8080/many_definitions/postgresql?word=pa
31 | http://localhost:8080/many_definitions/postgresql?word=lo
32 | http://localhost:8080/many_definitions/postgresql?word=ov
33 | http://localhost:8080/many_definitions/postgresql?word=tr
34 | http://localhost:8080/many_definitions/postgresql?word=ar
35 | http://localhost:8080/many_definitions/postgresql?word=bu
36 | http://localhost:8080/many_definitions/postgresql?word=al
37 | http://localhost:8080/many_definitions/postgresql?word=hy
38 | http://localhost:8080/many_definitions/postgresql?word=st
39 | http://localhost:8080/many_definitions/postgresql?word=fi
40 | http://localhost:8080/many_definitions/postgresql?word=sc
41 | http://localhost:8080/many_definitions/postgresql?word=sp
42 | http://localhost:8080/many_definitions/postgresql?word=mi
43 | http://localhost:8080/many_definitions/postgresql?word=de
44 | http://localhost:8080/many_definitions/postgresql?word=me
45 | http://localhost:8080/many_definitions/postgresql?word=wa
46 | http://localhost:8080/many_definitions/postgresql?word=te
47 | http://localhost:8080/many_definitions/postgresql?word=do
48 | http://localhost:8080/many_definitions/postgresql?word=pi
49 | http://localhost:8080/many_definitions/postgresql?word=ga
50 | http://localhost:8080/many_definitions/postgresql?word=ca
--------------------------------------------------------------------------------
/benchmark/quick_search_domain_urls.txt:
--------------------------------------------------------------------------------
1 | http://localhost:8080/quick_search/domain?word=py
2 | http://localhost:8080/quick_search/domain?word=ev
3 | http://localhost:8080/quick_search/domain?word=ic
4 | http://localhost:8080/quick_search/domain?word=ve
5 | http://localhost:8080/quick_search/domain?word=vo
6 | http://localhost:8080/quick_search/domain?word=to
7 | http://localhost:8080/quick_search/domain?word=cu
8 | http://localhost:8080/quick_search/domain?word=wa
9 | http://localhost:8080/quick_search/domain?word=li
10 | http://localhost:8080/quick_search/domain?word=br
11 | http://localhost:8080/quick_search/domain?word=ku
12 | http://localhost:8080/quick_search/domain?word=ma
13 | http://localhost:8080/quick_search/domain?word=du
14 | http://localhost:8080/quick_search/domain?word=ti
15 | http://localhost:8080/quick_search/domain?word=no
16 | http://localhost:8080/quick_search/domain?word=le
17 | http://localhost:8080/quick_search/domain?word=gu
18 | http://localhost:8080/quick_search/domain?word=ur
19 | http://localhost:8080/quick_search/domain?word=sa
20 | http://localhost:8080/quick_search/domain?word=un
21 | http://localhost:8080/quick_search/domain?word=us
22 | http://localhost:8080/quick_search/domain?word=do
23 | http://localhost:8080/quick_search/domain?word=or
24 | http://localhost:8080/quick_search/domain?word=ye
25 | http://localhost:8080/quick_search/domain?word=ia
26 | http://localhost:8080/quick_search/domain?word=si
27 | http://localhost:8080/quick_search/domain?word=ac
28 | http://localhost:8080/quick_search/domain?word=co
29 | http://localhost:8080/quick_search/domain?word=dy
30 | http://localhost:8080/quick_search/domain?word=ha
31 | http://localhost:8080/quick_search/domain?word=op
32 | http://localhost:8080/quick_search/domain?word=wr
33 | http://localhost:8080/quick_search/domain?word=tu
34 | http://localhost:8080/quick_search/domain?word=sp
35 | http://localhost:8080/quick_search/domain?word=gr
36 | http://localhost:8080/quick_search/domain?word=ji
37 | http://localhost:8080/quick_search/domain?word=sw
38 | http://localhost:8080/quick_search/domain?word=se
39 | http://localhost:8080/quick_search/domain?word=af
40 | http://localhost:8080/quick_search/domain?word=re
41 | http://localhost:8080/quick_search/domain?word=fl
42 | http://localhost:8080/quick_search/domain?word=eq
43 | http://localhost:8080/quick_search/domain?word=st
44 | http://localhost:8080/quick_search/domain?word=ko
45 | http://localhost:8080/quick_search/domain?word=ap
46 | http://localhost:8080/quick_search/domain?word=by
47 | http://localhost:8080/quick_search/domain?word=je
48 | http://localhost:8080/quick_search/domain?word=hi
49 | http://localhost:8080/quick_search/domain?word=ea
50 | http://localhost:8080/quick_search/domain?word=eu
51 | http://localhost:8080/quick_search/domain?word=ca
52 | http://localhost:8080/quick_search/domain?word=bi
53 | http://localhost:8080/quick_search/domain?word=ov
54 | http://localhost:8080/quick_search/domain?word=da
55 | http://localhost:8080/quick_search/domain?word=go
56 | http://localhost:8080/quick_search/domain?word=er
57 | http://localhost:8080/quick_search/domain?word=hu
58 | http://localhost:8080/quick_search/domain?word=io
59 | http://localhost:8080/quick_search/domain?word=ra
60 | http://localhost:8080/quick_search/domain?word=ad
61 | http://localhost:8080/quick_search/domain?word=gy
62 | http://localhost:8080/quick_search/domain?word=eb
63 | http://localhost:8080/quick_search/domain?word=ja
64 | http://localhost:8080/quick_search/domain?word=sm
65 | http://localhost:8080/quick_search/domain?word=kh
66 | http://localhost:8080/quick_search/domain?word=ge
67 | http://localhost:8080/quick_search/domain?word=ae
68 | http://localhost:8080/quick_search/domain?word=ai
69 | http://localhost:8080/quick_search/domain?word=ir
70 | http://localhost:8080/quick_search/domain?word=ek
71 | http://localhost:8080/quick_search/domain?word=bu
72 | http://localhost:8080/quick_search/domain?word=au
73 | http://localhost:8080/quick_search/domain?word=wi
74 | http://localhost:8080/quick_search/domain?word=ee
75 | http://localhost:8080/quick_search/domain?word=ep
76 | http://localhost:8080/quick_search/domain?word=pa
77 | http://localhost:8080/quick_search/domain?word=me
78 | http://localhost:8080/quick_search/domain?word=ga
79 | http://localhost:8080/quick_search/domain?word=va
80 | http://localhost:8080/quick_search/domain?word=we
81 | http://localhost:8080/quick_search/domain?word=ri
82 | http://localhost:8080/quick_search/domain?word=el
83 | http://localhost:8080/quick_search/domain?word=sq
84 | http://localhost:8080/quick_search/domain?word=ph
85 | http://localhost:8080/quick_search/domain?word=ro
86 | http://localhost:8080/quick_search/domain?word=nu
87 | http://localhost:8080/quick_search/domain?word=gl
88 | http://localhost:8080/quick_search/domain?word=im
89 | http://localhost:8080/quick_search/domain?word=th
90 | http://localhost:8080/quick_search/domain?word=ar
91 | http://localhost:8080/quick_search/domain?word=sc
92 | http://localhost:8080/quick_search/domain?word=aw
93 | http://localhost:8080/quick_search/domain?word=ni
94 | http://localhost:8080/quick_search/domain?word=cl
95 | http://localhost:8080/quick_search/domain?word=xe
96 | http://localhost:8080/quick_search/domain?word=in
97 | http://localhost:8080/quick_search/domain?word=et
98 | http://localhost:8080/quick_search/domain?word=es
99 | http://localhost:8080/quick_search/domain?word=bo
100 | http://localhost:8080/quick_search/domain?word=rh
101 | http://localhost:8080/quick_search/domain?word=pr
102 | http://localhost:8080/quick_search/domain?word=xa
103 | http://localhost:8080/quick_search/domain?word=my
104 | http://localhost:8080/quick_search/domain?word=ed
105 | http://localhost:8080/quick_search/domain?word=so
106 | http://localhost:8080/quick_search/domain?word=ta
107 | http://localhost:8080/quick_search/domain?word=zu
108 | http://localhost:8080/quick_search/domain?word=ef
109 | http://localhost:8080/quick_search/domain?word=fr
110 | http://localhost:8080/quick_search/domain?word=ex
111 | http://localhost:8080/quick_search/domain?word=ju
112 | http://localhost:8080/quick_search/domain?word=is
113 | http://localhost:8080/quick_search/domain?word=dr
114 | http://localhost:8080/quick_search/domain?word=gi
115 | http://localhost:8080/quick_search/domain?word=ol
116 | http://localhost:8080/quick_search/domain?word=up
117 | http://localhost:8080/quick_search/domain?word=em
118 | http://localhost:8080/quick_search/domain?word=mi
119 | http://localhost:8080/quick_search/domain?word=ag
120 | http://localhost:8080/quick_search/domain?word=oy
121 | http://localhost:8080/quick_search/domain?word=hy
122 | http://localhost:8080/quick_search/domain?word=zy
123 | http://localhost:8080/quick_search/domain?word=an
124 | http://localhost:8080/quick_search/domain?word=as
125 | http://localhost:8080/quick_search/domain?word=po
126 | http://localhost:8080/quick_search/domain?word=ka
127 | http://localhost:8080/quick_search/domain?word=mu
128 | http://localhost:8080/quick_search/domain?word=lu
129 | http://localhost:8080/quick_search/domain?word=at
130 | http://localhost:8080/quick_search/domain?word=pl
131 | http://localhost:8080/quick_search/domain?word=jo
132 | http://localhost:8080/quick_search/domain?word=ox
133 | http://localhost:8080/quick_search/domain?word=de
134 | http://localhost:8080/quick_search/domain?word=zo
135 | http://localhost:8080/quick_search/domain?word=wh
136 | http://localhost:8080/quick_search/domain?word=ne
137 | http://localhost:8080/quick_search/domain?word=wo
138 | http://localhost:8080/quick_search/domain?word=ab
139 | http://localhost:8080/quick_search/domain?word=ou
140 | http://localhost:8080/quick_search/domain?word=cy
141 | http://localhost:8080/quick_search/domain?word=en
142 | http://localhost:8080/quick_search/domain?word=ci
143 | http://localhost:8080/quick_search/domain?word=he
144 | http://localhost:8080/quick_search/domain?word=di
145 | http://localhost:8080/quick_search/domain?word=lo
146 | http://localhost:8080/quick_search/domain?word=it
147 | http://localhost:8080/quick_search/domain?word=bl
148 | http://localhost:8080/quick_search/domain?word=ru
149 | http://localhost:8080/quick_search/domain?word=fo
150 | http://localhost:8080/quick_search/domain?word=ps
151 | http://localhost:8080/quick_search/domain?word=ty
152 | http://localhost:8080/quick_search/domain?word=am
153 | http://localhost:8080/quick_search/domain?word=ob
154 | http://localhost:8080/quick_search/domain?word=ba
155 | http://localhost:8080/quick_search/domain?word=qu
156 | http://localhost:8080/quick_search/domain?word=tr
157 | http://localhost:8080/quick_search/domain?word=ak
158 | http://localhost:8080/quick_search/domain?word=pi
159 | http://localhost:8080/quick_search/domain?word=na
160 | http://localhost:8080/quick_search/domain?word=sh
161 | http://localhost:8080/quick_search/domain?word=oc
162 | http://localhost:8080/quick_search/domain?word=ce
163 | http://localhost:8080/quick_search/domain?word=be
164 | http://localhost:8080/quick_search/domain?word=te
165 | http://localhost:8080/quick_search/domain?word=fe
166 | http://localhost:8080/quick_search/domain?word=su
167 | http://localhost:8080/quick_search/domain?word=oo
168 | http://localhost:8080/quick_search/domain?word=ul
169 | http://localhost:8080/quick_search/domain?word=la
170 | http://localhost:8080/quick_search/domain?word=kn
171 | http://localhost:8080/quick_search/domain?word=al
172 | http://localhost:8080/quick_search/domain?word=sk
173 | http://localhost:8080/quick_search/domain?word=pe
174 | http://localhost:8080/quick_search/domain?word=ke
175 | http://localhost:8080/quick_search/domain?word=ki
176 | http://localhost:8080/quick_search/domain?word=fa
177 | http://localhost:8080/quick_search/domain?word=mo
178 | http://localhost:8080/quick_search/domain?word=vi
179 | http://localhost:8080/quick_search/domain?word=sn
180 | http://localhost:8080/quick_search/domain?word=ch
181 | http://localhost:8080/quick_search/domain?word=sy
182 | http://localhost:8080/quick_search/domain?word=cr
183 | http://localhost:8080/quick_search/domain?word=pu
184 | http://localhost:8080/quick_search/domain?word=ho
185 | http://localhost:8080/quick_search/domain?word=fu
186 | http://localhost:8080/quick_search/domain?word=fi
187 | http://localhost:8080/quick_search/domain?word=oe
--------------------------------------------------------------------------------
/benchmark/quick_search_pluck_urls.txt:
--------------------------------------------------------------------------------
1 | http://localhost:8080/quick_search/pluck?word=py
2 | http://localhost:8080/quick_search/pluck?word=ev
3 | http://localhost:8080/quick_search/pluck?word=ic
4 | http://localhost:8080/quick_search/pluck?word=ve
5 | http://localhost:8080/quick_search/pluck?word=vo
6 | http://localhost:8080/quick_search/pluck?word=to
7 | http://localhost:8080/quick_search/pluck?word=cu
8 | http://localhost:8080/quick_search/pluck?word=wa
9 | http://localhost:8080/quick_search/pluck?word=li
10 | http://localhost:8080/quick_search/pluck?word=br
11 | http://localhost:8080/quick_search/pluck?word=ku
12 | http://localhost:8080/quick_search/pluck?word=ma
13 | http://localhost:8080/quick_search/pluck?word=du
14 | http://localhost:8080/quick_search/pluck?word=ti
15 | http://localhost:8080/quick_search/pluck?word=no
16 | http://localhost:8080/quick_search/pluck?word=le
17 | http://localhost:8080/quick_search/pluck?word=gu
18 | http://localhost:8080/quick_search/pluck?word=ur
19 | http://localhost:8080/quick_search/pluck?word=sa
20 | http://localhost:8080/quick_search/pluck?word=un
21 | http://localhost:8080/quick_search/pluck?word=us
22 | http://localhost:8080/quick_search/pluck?word=do
23 | http://localhost:8080/quick_search/pluck?word=or
24 | http://localhost:8080/quick_search/pluck?word=ye
25 | http://localhost:8080/quick_search/pluck?word=ia
26 | http://localhost:8080/quick_search/pluck?word=si
27 | http://localhost:8080/quick_search/pluck?word=ac
28 | http://localhost:8080/quick_search/pluck?word=co
29 | http://localhost:8080/quick_search/pluck?word=dy
30 | http://localhost:8080/quick_search/pluck?word=ha
31 | http://localhost:8080/quick_search/pluck?word=op
32 | http://localhost:8080/quick_search/pluck?word=wr
33 | http://localhost:8080/quick_search/pluck?word=tu
34 | http://localhost:8080/quick_search/pluck?word=sp
35 | http://localhost:8080/quick_search/pluck?word=gr
36 | http://localhost:8080/quick_search/pluck?word=ji
37 | http://localhost:8080/quick_search/pluck?word=sw
38 | http://localhost:8080/quick_search/pluck?word=se
39 | http://localhost:8080/quick_search/pluck?word=af
40 | http://localhost:8080/quick_search/pluck?word=re
41 | http://localhost:8080/quick_search/pluck?word=fl
42 | http://localhost:8080/quick_search/pluck?word=eq
43 | http://localhost:8080/quick_search/pluck?word=st
44 | http://localhost:8080/quick_search/pluck?word=ko
45 | http://localhost:8080/quick_search/pluck?word=ap
46 | http://localhost:8080/quick_search/pluck?word=by
47 | http://localhost:8080/quick_search/pluck?word=je
48 | http://localhost:8080/quick_search/pluck?word=hi
49 | http://localhost:8080/quick_search/pluck?word=ea
50 | http://localhost:8080/quick_search/pluck?word=eu
51 | http://localhost:8080/quick_search/pluck?word=ca
52 | http://localhost:8080/quick_search/pluck?word=bi
53 | http://localhost:8080/quick_search/pluck?word=ov
54 | http://localhost:8080/quick_search/pluck?word=da
55 | http://localhost:8080/quick_search/pluck?word=go
56 | http://localhost:8080/quick_search/pluck?word=er
57 | http://localhost:8080/quick_search/pluck?word=hu
58 | http://localhost:8080/quick_search/pluck?word=io
59 | http://localhost:8080/quick_search/pluck?word=ra
60 | http://localhost:8080/quick_search/pluck?word=ad
61 | http://localhost:8080/quick_search/pluck?word=gy
62 | http://localhost:8080/quick_search/pluck?word=eb
63 | http://localhost:8080/quick_search/pluck?word=ja
64 | http://localhost:8080/quick_search/pluck?word=sm
65 | http://localhost:8080/quick_search/pluck?word=kh
66 | http://localhost:8080/quick_search/pluck?word=ge
67 | http://localhost:8080/quick_search/pluck?word=ae
68 | http://localhost:8080/quick_search/pluck?word=ai
69 | http://localhost:8080/quick_search/pluck?word=ir
70 | http://localhost:8080/quick_search/pluck?word=ek
71 | http://localhost:8080/quick_search/pluck?word=bu
72 | http://localhost:8080/quick_search/pluck?word=au
73 | http://localhost:8080/quick_search/pluck?word=wi
74 | http://localhost:8080/quick_search/pluck?word=ee
75 | http://localhost:8080/quick_search/pluck?word=ep
76 | http://localhost:8080/quick_search/pluck?word=pa
77 | http://localhost:8080/quick_search/pluck?word=me
78 | http://localhost:8080/quick_search/pluck?word=ga
79 | http://localhost:8080/quick_search/pluck?word=va
80 | http://localhost:8080/quick_search/pluck?word=we
81 | http://localhost:8080/quick_search/pluck?word=ri
82 | http://localhost:8080/quick_search/pluck?word=el
83 | http://localhost:8080/quick_search/pluck?word=sq
84 | http://localhost:8080/quick_search/pluck?word=ph
85 | http://localhost:8080/quick_search/pluck?word=ro
86 | http://localhost:8080/quick_search/pluck?word=nu
87 | http://localhost:8080/quick_search/pluck?word=gl
88 | http://localhost:8080/quick_search/pluck?word=im
89 | http://localhost:8080/quick_search/pluck?word=th
90 | http://localhost:8080/quick_search/pluck?word=ar
91 | http://localhost:8080/quick_search/pluck?word=sc
92 | http://localhost:8080/quick_search/pluck?word=aw
93 | http://localhost:8080/quick_search/pluck?word=ni
94 | http://localhost:8080/quick_search/pluck?word=cl
95 | http://localhost:8080/quick_search/pluck?word=xe
96 | http://localhost:8080/quick_search/pluck?word=in
97 | http://localhost:8080/quick_search/pluck?word=et
98 | http://localhost:8080/quick_search/pluck?word=es
99 | http://localhost:8080/quick_search/pluck?word=bo
100 | http://localhost:8080/quick_search/pluck?word=rh
101 | http://localhost:8080/quick_search/pluck?word=pr
102 | http://localhost:8080/quick_search/pluck?word=xa
103 | http://localhost:8080/quick_search/pluck?word=my
104 | http://localhost:8080/quick_search/pluck?word=ed
105 | http://localhost:8080/quick_search/pluck?word=so
106 | http://localhost:8080/quick_search/pluck?word=ta
107 | http://localhost:8080/quick_search/pluck?word=zu
108 | http://localhost:8080/quick_search/pluck?word=ef
109 | http://localhost:8080/quick_search/pluck?word=fr
110 | http://localhost:8080/quick_search/pluck?word=ex
111 | http://localhost:8080/quick_search/pluck?word=ju
112 | http://localhost:8080/quick_search/pluck?word=is
113 | http://localhost:8080/quick_search/pluck?word=dr
114 | http://localhost:8080/quick_search/pluck?word=gi
115 | http://localhost:8080/quick_search/pluck?word=ol
116 | http://localhost:8080/quick_search/pluck?word=up
117 | http://localhost:8080/quick_search/pluck?word=em
118 | http://localhost:8080/quick_search/pluck?word=mi
119 | http://localhost:8080/quick_search/pluck?word=ag
120 | http://localhost:8080/quick_search/pluck?word=oy
121 | http://localhost:8080/quick_search/pluck?word=hy
122 | http://localhost:8080/quick_search/pluck?word=zy
123 | http://localhost:8080/quick_search/pluck?word=an
124 | http://localhost:8080/quick_search/pluck?word=as
125 | http://localhost:8080/quick_search/pluck?word=po
126 | http://localhost:8080/quick_search/pluck?word=ka
127 | http://localhost:8080/quick_search/pluck?word=mu
128 | http://localhost:8080/quick_search/pluck?word=lu
129 | http://localhost:8080/quick_search/pluck?word=at
130 | http://localhost:8080/quick_search/pluck?word=pl
131 | http://localhost:8080/quick_search/pluck?word=jo
132 | http://localhost:8080/quick_search/pluck?word=ox
133 | http://localhost:8080/quick_search/pluck?word=de
134 | http://localhost:8080/quick_search/pluck?word=zo
135 | http://localhost:8080/quick_search/pluck?word=wh
136 | http://localhost:8080/quick_search/pluck?word=ne
137 | http://localhost:8080/quick_search/pluck?word=wo
138 | http://localhost:8080/quick_search/pluck?word=ab
139 | http://localhost:8080/quick_search/pluck?word=ou
140 | http://localhost:8080/quick_search/pluck?word=cy
141 | http://localhost:8080/quick_search/pluck?word=en
142 | http://localhost:8080/quick_search/pluck?word=ci
143 | http://localhost:8080/quick_search/pluck?word=he
144 | http://localhost:8080/quick_search/pluck?word=di
145 | http://localhost:8080/quick_search/pluck?word=lo
146 | http://localhost:8080/quick_search/pluck?word=it
147 | http://localhost:8080/quick_search/pluck?word=bl
148 | http://localhost:8080/quick_search/pluck?word=ru
149 | http://localhost:8080/quick_search/pluck?word=fo
150 | http://localhost:8080/quick_search/pluck?word=ps
151 | http://localhost:8080/quick_search/pluck?word=ty
152 | http://localhost:8080/quick_search/pluck?word=am
153 | http://localhost:8080/quick_search/pluck?word=ob
154 | http://localhost:8080/quick_search/pluck?word=ba
155 | http://localhost:8080/quick_search/pluck?word=qu
156 | http://localhost:8080/quick_search/pluck?word=tr
157 | http://localhost:8080/quick_search/pluck?word=ak
158 | http://localhost:8080/quick_search/pluck?word=pi
159 | http://localhost:8080/quick_search/pluck?word=na
160 | http://localhost:8080/quick_search/pluck?word=sh
161 | http://localhost:8080/quick_search/pluck?word=oc
162 | http://localhost:8080/quick_search/pluck?word=ce
163 | http://localhost:8080/quick_search/pluck?word=be
164 | http://localhost:8080/quick_search/pluck?word=te
165 | http://localhost:8080/quick_search/pluck?word=fe
166 | http://localhost:8080/quick_search/pluck?word=su
167 | http://localhost:8080/quick_search/pluck?word=oo
168 | http://localhost:8080/quick_search/pluck?word=ul
169 | http://localhost:8080/quick_search/pluck?word=la
170 | http://localhost:8080/quick_search/pluck?word=kn
171 | http://localhost:8080/quick_search/pluck?word=al
172 | http://localhost:8080/quick_search/pluck?word=sk
173 | http://localhost:8080/quick_search/pluck?word=pe
174 | http://localhost:8080/quick_search/pluck?word=ke
175 | http://localhost:8080/quick_search/pluck?word=ki
176 | http://localhost:8080/quick_search/pluck?word=fa
177 | http://localhost:8080/quick_search/pluck?word=mo
178 | http://localhost:8080/quick_search/pluck?word=vi
179 | http://localhost:8080/quick_search/pluck?word=sn
180 | http://localhost:8080/quick_search/pluck?word=ch
181 | http://localhost:8080/quick_search/pluck?word=sy
182 | http://localhost:8080/quick_search/pluck?word=cr
183 | http://localhost:8080/quick_search/pluck?word=pu
184 | http://localhost:8080/quick_search/pluck?word=ho
185 | http://localhost:8080/quick_search/pluck?word=fu
186 | http://localhost:8080/quick_search/pluck?word=fi
187 | http://localhost:8080/quick_search/pluck?word=oe
--------------------------------------------------------------------------------
/benchmark/quick_search_postgresql_urls.txt:
--------------------------------------------------------------------------------
1 | http://localhost:8080/quick_search/postgresql?word=py
2 | http://localhost:8080/quick_search/postgresql?word=ev
3 | http://localhost:8080/quick_search/postgresql?word=ic
4 | http://localhost:8080/quick_search/postgresql?word=ve
5 | http://localhost:8080/quick_search/postgresql?word=vo
6 | http://localhost:8080/quick_search/postgresql?word=to
7 | http://localhost:8080/quick_search/postgresql?word=cu
8 | http://localhost:8080/quick_search/postgresql?word=wa
9 | http://localhost:8080/quick_search/postgresql?word=li
10 | http://localhost:8080/quick_search/postgresql?word=br
11 | http://localhost:8080/quick_search/postgresql?word=ku
12 | http://localhost:8080/quick_search/postgresql?word=ma
13 | http://localhost:8080/quick_search/postgresql?word=du
14 | http://localhost:8080/quick_search/postgresql?word=ti
15 | http://localhost:8080/quick_search/postgresql?word=no
16 | http://localhost:8080/quick_search/postgresql?word=le
17 | http://localhost:8080/quick_search/postgresql?word=gu
18 | http://localhost:8080/quick_search/postgresql?word=ur
19 | http://localhost:8080/quick_search/postgresql?word=sa
20 | http://localhost:8080/quick_search/postgresql?word=un
21 | http://localhost:8080/quick_search/postgresql?word=us
22 | http://localhost:8080/quick_search/postgresql?word=do
23 | http://localhost:8080/quick_search/postgresql?word=or
24 | http://localhost:8080/quick_search/postgresql?word=ye
25 | http://localhost:8080/quick_search/postgresql?word=ia
26 | http://localhost:8080/quick_search/postgresql?word=si
27 | http://localhost:8080/quick_search/postgresql?word=ac
28 | http://localhost:8080/quick_search/postgresql?word=co
29 | http://localhost:8080/quick_search/postgresql?word=dy
30 | http://localhost:8080/quick_search/postgresql?word=ha
31 | http://localhost:8080/quick_search/postgresql?word=op
32 | http://localhost:8080/quick_search/postgresql?word=wr
33 | http://localhost:8080/quick_search/postgresql?word=tu
34 | http://localhost:8080/quick_search/postgresql?word=sp
35 | http://localhost:8080/quick_search/postgresql?word=gr
36 | http://localhost:8080/quick_search/postgresql?word=ji
37 | http://localhost:8080/quick_search/postgresql?word=sw
38 | http://localhost:8080/quick_search/postgresql?word=se
39 | http://localhost:8080/quick_search/postgresql?word=af
40 | http://localhost:8080/quick_search/postgresql?word=re
41 | http://localhost:8080/quick_search/postgresql?word=fl
42 | http://localhost:8080/quick_search/postgresql?word=eq
43 | http://localhost:8080/quick_search/postgresql?word=st
44 | http://localhost:8080/quick_search/postgresql?word=ko
45 | http://localhost:8080/quick_search/postgresql?word=ap
46 | http://localhost:8080/quick_search/postgresql?word=by
47 | http://localhost:8080/quick_search/postgresql?word=je
48 | http://localhost:8080/quick_search/postgresql?word=hi
49 | http://localhost:8080/quick_search/postgresql?word=ea
50 | http://localhost:8080/quick_search/postgresql?word=eu
51 | http://localhost:8080/quick_search/postgresql?word=ca
52 | http://localhost:8080/quick_search/postgresql?word=bi
53 | http://localhost:8080/quick_search/postgresql?word=ov
54 | http://localhost:8080/quick_search/postgresql?word=da
55 | http://localhost:8080/quick_search/postgresql?word=go
56 | http://localhost:8080/quick_search/postgresql?word=er
57 | http://localhost:8080/quick_search/postgresql?word=hu
58 | http://localhost:8080/quick_search/postgresql?word=io
59 | http://localhost:8080/quick_search/postgresql?word=ra
60 | http://localhost:8080/quick_search/postgresql?word=ad
61 | http://localhost:8080/quick_search/postgresql?word=gy
62 | http://localhost:8080/quick_search/postgresql?word=eb
63 | http://localhost:8080/quick_search/postgresql?word=ja
64 | http://localhost:8080/quick_search/postgresql?word=sm
65 | http://localhost:8080/quick_search/postgresql?word=kh
66 | http://localhost:8080/quick_search/postgresql?word=ge
67 | http://localhost:8080/quick_search/postgresql?word=ae
68 | http://localhost:8080/quick_search/postgresql?word=ai
69 | http://localhost:8080/quick_search/postgresql?word=ir
70 | http://localhost:8080/quick_search/postgresql?word=ek
71 | http://localhost:8080/quick_search/postgresql?word=bu
72 | http://localhost:8080/quick_search/postgresql?word=au
73 | http://localhost:8080/quick_search/postgresql?word=wi
74 | http://localhost:8080/quick_search/postgresql?word=ee
75 | http://localhost:8080/quick_search/postgresql?word=ep
76 | http://localhost:8080/quick_search/postgresql?word=pa
77 | http://localhost:8080/quick_search/postgresql?word=me
78 | http://localhost:8080/quick_search/postgresql?word=ga
79 | http://localhost:8080/quick_search/postgresql?word=va
80 | http://localhost:8080/quick_search/postgresql?word=we
81 | http://localhost:8080/quick_search/postgresql?word=ri
82 | http://localhost:8080/quick_search/postgresql?word=el
83 | http://localhost:8080/quick_search/postgresql?word=sq
84 | http://localhost:8080/quick_search/postgresql?word=ph
85 | http://localhost:8080/quick_search/postgresql?word=ro
86 | http://localhost:8080/quick_search/postgresql?word=nu
87 | http://localhost:8080/quick_search/postgresql?word=gl
88 | http://localhost:8080/quick_search/postgresql?word=im
89 | http://localhost:8080/quick_search/postgresql?word=th
90 | http://localhost:8080/quick_search/postgresql?word=ar
91 | http://localhost:8080/quick_search/postgresql?word=sc
92 | http://localhost:8080/quick_search/postgresql?word=aw
93 | http://localhost:8080/quick_search/postgresql?word=ni
94 | http://localhost:8080/quick_search/postgresql?word=cl
95 | http://localhost:8080/quick_search/postgresql?word=xe
96 | http://localhost:8080/quick_search/postgresql?word=in
97 | http://localhost:8080/quick_search/postgresql?word=et
98 | http://localhost:8080/quick_search/postgresql?word=es
99 | http://localhost:8080/quick_search/postgresql?word=bo
100 | http://localhost:8080/quick_search/postgresql?word=rh
101 | http://localhost:8080/quick_search/postgresql?word=pr
102 | http://localhost:8080/quick_search/postgresql?word=xa
103 | http://localhost:8080/quick_search/postgresql?word=my
104 | http://localhost:8080/quick_search/postgresql?word=ed
105 | http://localhost:8080/quick_search/postgresql?word=so
106 | http://localhost:8080/quick_search/postgresql?word=ta
107 | http://localhost:8080/quick_search/postgresql?word=zu
108 | http://localhost:8080/quick_search/postgresql?word=ef
109 | http://localhost:8080/quick_search/postgresql?word=fr
110 | http://localhost:8080/quick_search/postgresql?word=ex
111 | http://localhost:8080/quick_search/postgresql?word=ju
112 | http://localhost:8080/quick_search/postgresql?word=is
113 | http://localhost:8080/quick_search/postgresql?word=dr
114 | http://localhost:8080/quick_search/postgresql?word=gi
115 | http://localhost:8080/quick_search/postgresql?word=ol
116 | http://localhost:8080/quick_search/postgresql?word=up
117 | http://localhost:8080/quick_search/postgresql?word=em
118 | http://localhost:8080/quick_search/postgresql?word=mi
119 | http://localhost:8080/quick_search/postgresql?word=ag
120 | http://localhost:8080/quick_search/postgresql?word=oy
121 | http://localhost:8080/quick_search/postgresql?word=hy
122 | http://localhost:8080/quick_search/postgresql?word=zy
123 | http://localhost:8080/quick_search/postgresql?word=an
124 | http://localhost:8080/quick_search/postgresql?word=as
125 | http://localhost:8080/quick_search/postgresql?word=po
126 | http://localhost:8080/quick_search/postgresql?word=ka
127 | http://localhost:8080/quick_search/postgresql?word=mu
128 | http://localhost:8080/quick_search/postgresql?word=lu
129 | http://localhost:8080/quick_search/postgresql?word=at
130 | http://localhost:8080/quick_search/postgresql?word=pl
131 | http://localhost:8080/quick_search/postgresql?word=jo
132 | http://localhost:8080/quick_search/postgresql?word=ox
133 | http://localhost:8080/quick_search/postgresql?word=de
134 | http://localhost:8080/quick_search/postgresql?word=zo
135 | http://localhost:8080/quick_search/postgresql?word=wh
136 | http://localhost:8080/quick_search/postgresql?word=ne
137 | http://localhost:8080/quick_search/postgresql?word=wo
138 | http://localhost:8080/quick_search/postgresql?word=ab
139 | http://localhost:8080/quick_search/postgresql?word=ou
140 | http://localhost:8080/quick_search/postgresql?word=cy
141 | http://localhost:8080/quick_search/postgresql?word=en
142 | http://localhost:8080/quick_search/postgresql?word=ci
143 | http://localhost:8080/quick_search/postgresql?word=he
144 | http://localhost:8080/quick_search/postgresql?word=di
145 | http://localhost:8080/quick_search/postgresql?word=lo
146 | http://localhost:8080/quick_search/postgresql?word=it
147 | http://localhost:8080/quick_search/postgresql?word=bl
148 | http://localhost:8080/quick_search/postgresql?word=ru
149 | http://localhost:8080/quick_search/postgresql?word=fo
150 | http://localhost:8080/quick_search/postgresql?word=ps
151 | http://localhost:8080/quick_search/postgresql?word=ty
152 | http://localhost:8080/quick_search/postgresql?word=am
153 | http://localhost:8080/quick_search/postgresql?word=ob
154 | http://localhost:8080/quick_search/postgresql?word=ba
155 | http://localhost:8080/quick_search/postgresql?word=qu
156 | http://localhost:8080/quick_search/postgresql?word=tr
157 | http://localhost:8080/quick_search/postgresql?word=ak
158 | http://localhost:8080/quick_search/postgresql?word=pi
159 | http://localhost:8080/quick_search/postgresql?word=na
160 | http://localhost:8080/quick_search/postgresql?word=sh
161 | http://localhost:8080/quick_search/postgresql?word=oc
162 | http://localhost:8080/quick_search/postgresql?word=ce
163 | http://localhost:8080/quick_search/postgresql?word=be
164 | http://localhost:8080/quick_search/postgresql?word=te
165 | http://localhost:8080/quick_search/postgresql?word=fe
166 | http://localhost:8080/quick_search/postgresql?word=su
167 | http://localhost:8080/quick_search/postgresql?word=oo
168 | http://localhost:8080/quick_search/postgresql?word=ul
169 | http://localhost:8080/quick_search/postgresql?word=la
170 | http://localhost:8080/quick_search/postgresql?word=kn
171 | http://localhost:8080/quick_search/postgresql?word=al
172 | http://localhost:8080/quick_search/postgresql?word=sk
173 | http://localhost:8080/quick_search/postgresql?word=pe
174 | http://localhost:8080/quick_search/postgresql?word=ke
175 | http://localhost:8080/quick_search/postgresql?word=ki
176 | http://localhost:8080/quick_search/postgresql?word=fa
177 | http://localhost:8080/quick_search/postgresql?word=mo
178 | http://localhost:8080/quick_search/postgresql?word=vi
179 | http://localhost:8080/quick_search/postgresql?word=sn
180 | http://localhost:8080/quick_search/postgresql?word=ch
181 | http://localhost:8080/quick_search/postgresql?word=sy
182 | http://localhost:8080/quick_search/postgresql?word=cr
183 | http://localhost:8080/quick_search/postgresql?word=pu
184 | http://localhost:8080/quick_search/postgresql?word=ho
185 | http://localhost:8080/quick_search/postgresql?word=fu
186 | http://localhost:8080/quick_search/postgresql?word=fi
187 | http://localhost:8080/quick_search/postgresql?word=oe
--------------------------------------------------------------------------------
/benchmark/rich_search_domain_urls.txt:
--------------------------------------------------------------------------------
1 | http://localhost:8080/rich_search/domain?word=py
2 | http://localhost:8080/rich_search/domain?word=ev
3 | http://localhost:8080/rich_search/domain?word=ic
4 | http://localhost:8080/rich_search/domain?word=ve
5 | http://localhost:8080/rich_search/domain?word=vo
6 | http://localhost:8080/rich_search/domain?word=to
7 | http://localhost:8080/rich_search/domain?word=cu
8 | http://localhost:8080/rich_search/domain?word=wa
9 | http://localhost:8080/rich_search/domain?word=li
10 | http://localhost:8080/rich_search/domain?word=br
11 | http://localhost:8080/rich_search/domain?word=ku
12 | http://localhost:8080/rich_search/domain?word=ma
13 | http://localhost:8080/rich_search/domain?word=du
14 | http://localhost:8080/rich_search/domain?word=ti
15 | http://localhost:8080/rich_search/domain?word=no
16 | http://localhost:8080/rich_search/domain?word=le
17 | http://localhost:8080/rich_search/domain?word=gu
18 | http://localhost:8080/rich_search/domain?word=ur
19 | http://localhost:8080/rich_search/domain?word=sa
20 | http://localhost:8080/rich_search/domain?word=un
21 | http://localhost:8080/rich_search/domain?word=us
22 | http://localhost:8080/rich_search/domain?word=do
23 | http://localhost:8080/rich_search/domain?word=or
24 | http://localhost:8080/rich_search/domain?word=ye
25 | http://localhost:8080/rich_search/domain?word=ia
26 | http://localhost:8080/rich_search/domain?word=si
27 | http://localhost:8080/rich_search/domain?word=ac
28 | http://localhost:8080/rich_search/domain?word=co
29 | http://localhost:8080/rich_search/domain?word=dy
30 | http://localhost:8080/rich_search/domain?word=ha
31 | http://localhost:8080/rich_search/domain?word=op
32 | http://localhost:8080/rich_search/domain?word=wr
33 | http://localhost:8080/rich_search/domain?word=tu
34 | http://localhost:8080/rich_search/domain?word=sp
35 | http://localhost:8080/rich_search/domain?word=gr
36 | http://localhost:8080/rich_search/domain?word=ji
37 | http://localhost:8080/rich_search/domain?word=sw
38 | http://localhost:8080/rich_search/domain?word=se
39 | http://localhost:8080/rich_search/domain?word=af
40 | http://localhost:8080/rich_search/domain?word=re
41 | http://localhost:8080/rich_search/domain?word=fl
42 | http://localhost:8080/rich_search/domain?word=eq
43 | http://localhost:8080/rich_search/domain?word=st
44 | http://localhost:8080/rich_search/domain?word=ko
45 | http://localhost:8080/rich_search/domain?word=ap
46 | http://localhost:8080/rich_search/domain?word=by
47 | http://localhost:8080/rich_search/domain?word=je
48 | http://localhost:8080/rich_search/domain?word=hi
49 | http://localhost:8080/rich_search/domain?word=ea
50 | http://localhost:8080/rich_search/domain?word=eu
51 | http://localhost:8080/rich_search/domain?word=ca
52 | http://localhost:8080/rich_search/domain?word=bi
53 | http://localhost:8080/rich_search/domain?word=ov
54 | http://localhost:8080/rich_search/domain?word=da
55 | http://localhost:8080/rich_search/domain?word=go
56 | http://localhost:8080/rich_search/domain?word=er
57 | http://localhost:8080/rich_search/domain?word=hu
58 | http://localhost:8080/rich_search/domain?word=io
59 | http://localhost:8080/rich_search/domain?word=ra
60 | http://localhost:8080/rich_search/domain?word=ad
61 | http://localhost:8080/rich_search/domain?word=gy
62 | http://localhost:8080/rich_search/domain?word=eb
63 | http://localhost:8080/rich_search/domain?word=ja
64 | http://localhost:8080/rich_search/domain?word=sm
65 | http://localhost:8080/rich_search/domain?word=kh
66 | http://localhost:8080/rich_search/domain?word=ge
67 | http://localhost:8080/rich_search/domain?word=ae
68 | http://localhost:8080/rich_search/domain?word=ai
69 | http://localhost:8080/rich_search/domain?word=ir
70 | http://localhost:8080/rich_search/domain?word=ek
71 | http://localhost:8080/rich_search/domain?word=bu
72 | http://localhost:8080/rich_search/domain?word=au
73 | http://localhost:8080/rich_search/domain?word=wi
74 | http://localhost:8080/rich_search/domain?word=ee
75 | http://localhost:8080/rich_search/domain?word=ep
76 | http://localhost:8080/rich_search/domain?word=pa
77 | http://localhost:8080/rich_search/domain?word=me
78 | http://localhost:8080/rich_search/domain?word=ga
79 | http://localhost:8080/rich_search/domain?word=va
80 | http://localhost:8080/rich_search/domain?word=we
81 | http://localhost:8080/rich_search/domain?word=ri
82 | http://localhost:8080/rich_search/domain?word=el
83 | http://localhost:8080/rich_search/domain?word=sq
84 | http://localhost:8080/rich_search/domain?word=ph
85 | http://localhost:8080/rich_search/domain?word=ro
86 | http://localhost:8080/rich_search/domain?word=nu
87 | http://localhost:8080/rich_search/domain?word=gl
88 | http://localhost:8080/rich_search/domain?word=im
89 | http://localhost:8080/rich_search/domain?word=th
90 | http://localhost:8080/rich_search/domain?word=ar
91 | http://localhost:8080/rich_search/domain?word=sc
92 | http://localhost:8080/rich_search/domain?word=aw
93 | http://localhost:8080/rich_search/domain?word=ni
94 | http://localhost:8080/rich_search/domain?word=cl
95 | http://localhost:8080/rich_search/domain?word=xe
96 | http://localhost:8080/rich_search/domain?word=in
97 | http://localhost:8080/rich_search/domain?word=et
98 | http://localhost:8080/rich_search/domain?word=es
99 | http://localhost:8080/rich_search/domain?word=bo
100 | http://localhost:8080/rich_search/domain?word=rh
101 | http://localhost:8080/rich_search/domain?word=pr
102 | http://localhost:8080/rich_search/domain?word=xa
103 | http://localhost:8080/rich_search/domain?word=my
104 | http://localhost:8080/rich_search/domain?word=ed
105 | http://localhost:8080/rich_search/domain?word=so
106 | http://localhost:8080/rich_search/domain?word=ta
107 | http://localhost:8080/rich_search/domain?word=zu
108 | http://localhost:8080/rich_search/domain?word=ef
109 | http://localhost:8080/rich_search/domain?word=fr
110 | http://localhost:8080/rich_search/domain?word=ex
111 | http://localhost:8080/rich_search/domain?word=ju
112 | http://localhost:8080/rich_search/domain?word=is
113 | http://localhost:8080/rich_search/domain?word=dr
114 | http://localhost:8080/rich_search/domain?word=gi
115 | http://localhost:8080/rich_search/domain?word=ol
116 | http://localhost:8080/rich_search/domain?word=up
117 | http://localhost:8080/rich_search/domain?word=em
118 | http://localhost:8080/rich_search/domain?word=mi
119 | http://localhost:8080/rich_search/domain?word=ag
120 | http://localhost:8080/rich_search/domain?word=oy
121 | http://localhost:8080/rich_search/domain?word=hy
122 | http://localhost:8080/rich_search/domain?word=zy
123 | http://localhost:8080/rich_search/domain?word=an
124 | http://localhost:8080/rich_search/domain?word=as
125 | http://localhost:8080/rich_search/domain?word=po
126 | http://localhost:8080/rich_search/domain?word=ka
127 | http://localhost:8080/rich_search/domain?word=mu
128 | http://localhost:8080/rich_search/domain?word=lu
129 | http://localhost:8080/rich_search/domain?word=at
130 | http://localhost:8080/rich_search/domain?word=pl
131 | http://localhost:8080/rich_search/domain?word=jo
132 | http://localhost:8080/rich_search/domain?word=ox
133 | http://localhost:8080/rich_search/domain?word=de
134 | http://localhost:8080/rich_search/domain?word=zo
135 | http://localhost:8080/rich_search/domain?word=wh
136 | http://localhost:8080/rich_search/domain?word=ne
137 | http://localhost:8080/rich_search/domain?word=wo
138 | http://localhost:8080/rich_search/domain?word=ab
139 | http://localhost:8080/rich_search/domain?word=ou
140 | http://localhost:8080/rich_search/domain?word=cy
141 | http://localhost:8080/rich_search/domain?word=en
142 | http://localhost:8080/rich_search/domain?word=ci
143 | http://localhost:8080/rich_search/domain?word=he
144 | http://localhost:8080/rich_search/domain?word=di
145 | http://localhost:8080/rich_search/domain?word=lo
146 | http://localhost:8080/rich_search/domain?word=it
147 | http://localhost:8080/rich_search/domain?word=bl
148 | http://localhost:8080/rich_search/domain?word=ru
149 | http://localhost:8080/rich_search/domain?word=fo
150 | http://localhost:8080/rich_search/domain?word=ps
151 | http://localhost:8080/rich_search/domain?word=ty
152 | http://localhost:8080/rich_search/domain?word=am
153 | http://localhost:8080/rich_search/domain?word=ob
154 | http://localhost:8080/rich_search/domain?word=ba
155 | http://localhost:8080/rich_search/domain?word=qu
156 | http://localhost:8080/rich_search/domain?word=tr
157 | http://localhost:8080/rich_search/domain?word=ak
158 | http://localhost:8080/rich_search/domain?word=pi
159 | http://localhost:8080/rich_search/domain?word=na
160 | http://localhost:8080/rich_search/domain?word=sh
161 | http://localhost:8080/rich_search/domain?word=oc
162 | http://localhost:8080/rich_search/domain?word=ce
163 | http://localhost:8080/rich_search/domain?word=be
164 | http://localhost:8080/rich_search/domain?word=te
165 | http://localhost:8080/rich_search/domain?word=fe
166 | http://localhost:8080/rich_search/domain?word=su
167 | http://localhost:8080/rich_search/domain?word=oo
168 | http://localhost:8080/rich_search/domain?word=ul
169 | http://localhost:8080/rich_search/domain?word=la
170 | http://localhost:8080/rich_search/domain?word=kn
171 | http://localhost:8080/rich_search/domain?word=al
172 | http://localhost:8080/rich_search/domain?word=sk
173 | http://localhost:8080/rich_search/domain?word=pe
174 | http://localhost:8080/rich_search/domain?word=ke
175 | http://localhost:8080/rich_search/domain?word=ki
176 | http://localhost:8080/rich_search/domain?word=fa
177 | http://localhost:8080/rich_search/domain?word=mo
178 | http://localhost:8080/rich_search/domain?word=vi
179 | http://localhost:8080/rich_search/domain?word=sn
180 | http://localhost:8080/rich_search/domain?word=ch
181 | http://localhost:8080/rich_search/domain?word=sy
182 | http://localhost:8080/rich_search/domain?word=cr
183 | http://localhost:8080/rich_search/domain?word=pu
184 | http://localhost:8080/rich_search/domain?word=ho
185 | http://localhost:8080/rich_search/domain?word=fu
186 | http://localhost:8080/rich_search/domain?word=fi
187 | http://localhost:8080/rich_search/domain?word=oe
--------------------------------------------------------------------------------
/benchmark/rich_search_postgresql_urls.txt:
--------------------------------------------------------------------------------
1 | http://localhost:8080/rich_search/postgresql?word=py
2 | http://localhost:8080/rich_search/postgresql?word=ev
3 | http://localhost:8080/rich_search/postgresql?word=ic
4 | http://localhost:8080/rich_search/postgresql?word=ve
5 | http://localhost:8080/rich_search/postgresql?word=vo
6 | http://localhost:8080/rich_search/postgresql?word=to
7 | http://localhost:8080/rich_search/postgresql?word=cu
8 | http://localhost:8080/rich_search/postgresql?word=wa
9 | http://localhost:8080/rich_search/postgresql?word=li
10 | http://localhost:8080/rich_search/postgresql?word=br
11 | http://localhost:8080/rich_search/postgresql?word=ku
12 | http://localhost:8080/rich_search/postgresql?word=ma
13 | http://localhost:8080/rich_search/postgresql?word=du
14 | http://localhost:8080/rich_search/postgresql?word=ti
15 | http://localhost:8080/rich_search/postgresql?word=no
16 | http://localhost:8080/rich_search/postgresql?word=le
17 | http://localhost:8080/rich_search/postgresql?word=gu
18 | http://localhost:8080/rich_search/postgresql?word=ur
19 | http://localhost:8080/rich_search/postgresql?word=sa
20 | http://localhost:8080/rich_search/postgresql?word=un
21 | http://localhost:8080/rich_search/postgresql?word=us
22 | http://localhost:8080/rich_search/postgresql?word=do
23 | http://localhost:8080/rich_search/postgresql?word=or
24 | http://localhost:8080/rich_search/postgresql?word=ye
25 | http://localhost:8080/rich_search/postgresql?word=ia
26 | http://localhost:8080/rich_search/postgresql?word=si
27 | http://localhost:8080/rich_search/postgresql?word=ac
28 | http://localhost:8080/rich_search/postgresql?word=co
29 | http://localhost:8080/rich_search/postgresql?word=dy
30 | http://localhost:8080/rich_search/postgresql?word=ha
31 | http://localhost:8080/rich_search/postgresql?word=op
32 | http://localhost:8080/rich_search/postgresql?word=wr
33 | http://localhost:8080/rich_search/postgresql?word=tu
34 | http://localhost:8080/rich_search/postgresql?word=sp
35 | http://localhost:8080/rich_search/postgresql?word=gr
36 | http://localhost:8080/rich_search/postgresql?word=ji
37 | http://localhost:8080/rich_search/postgresql?word=sw
38 | http://localhost:8080/rich_search/postgresql?word=se
39 | http://localhost:8080/rich_search/postgresql?word=af
40 | http://localhost:8080/rich_search/postgresql?word=re
41 | http://localhost:8080/rich_search/postgresql?word=fl
42 | http://localhost:8080/rich_search/postgresql?word=eq
43 | http://localhost:8080/rich_search/postgresql?word=st
44 | http://localhost:8080/rich_search/postgresql?word=ko
45 | http://localhost:8080/rich_search/postgresql?word=ap
46 | http://localhost:8080/rich_search/postgresql?word=by
47 | http://localhost:8080/rich_search/postgresql?word=je
48 | http://localhost:8080/rich_search/postgresql?word=hi
49 | http://localhost:8080/rich_search/postgresql?word=ea
50 | http://localhost:8080/rich_search/postgresql?word=eu
51 | http://localhost:8080/rich_search/postgresql?word=ca
52 | http://localhost:8080/rich_search/postgresql?word=bi
53 | http://localhost:8080/rich_search/postgresql?word=ov
54 | http://localhost:8080/rich_search/postgresql?word=da
55 | http://localhost:8080/rich_search/postgresql?word=go
56 | http://localhost:8080/rich_search/postgresql?word=er
57 | http://localhost:8080/rich_search/postgresql?word=hu
58 | http://localhost:8080/rich_search/postgresql?word=io
59 | http://localhost:8080/rich_search/postgresql?word=ra
60 | http://localhost:8080/rich_search/postgresql?word=ad
61 | http://localhost:8080/rich_search/postgresql?word=gy
62 | http://localhost:8080/rich_search/postgresql?word=eb
63 | http://localhost:8080/rich_search/postgresql?word=ja
64 | http://localhost:8080/rich_search/postgresql?word=sm
65 | http://localhost:8080/rich_search/postgresql?word=kh
66 | http://localhost:8080/rich_search/postgresql?word=ge
67 | http://localhost:8080/rich_search/postgresql?word=ae
68 | http://localhost:8080/rich_search/postgresql?word=ai
69 | http://localhost:8080/rich_search/postgresql?word=ir
70 | http://localhost:8080/rich_search/postgresql?word=ek
71 | http://localhost:8080/rich_search/postgresql?word=bu
72 | http://localhost:8080/rich_search/postgresql?word=au
73 | http://localhost:8080/rich_search/postgresql?word=wi
74 | http://localhost:8080/rich_search/postgresql?word=ee
75 | http://localhost:8080/rich_search/postgresql?word=ep
76 | http://localhost:8080/rich_search/postgresql?word=pa
77 | http://localhost:8080/rich_search/postgresql?word=me
78 | http://localhost:8080/rich_search/postgresql?word=ga
79 | http://localhost:8080/rich_search/postgresql?word=va
80 | http://localhost:8080/rich_search/postgresql?word=we
81 | http://localhost:8080/rich_search/postgresql?word=ri
82 | http://localhost:8080/rich_search/postgresql?word=el
83 | http://localhost:8080/rich_search/postgresql?word=sq
84 | http://localhost:8080/rich_search/postgresql?word=ph
85 | http://localhost:8080/rich_search/postgresql?word=ro
86 | http://localhost:8080/rich_search/postgresql?word=nu
87 | http://localhost:8080/rich_search/postgresql?word=gl
88 | http://localhost:8080/rich_search/postgresql?word=im
89 | http://localhost:8080/rich_search/postgresql?word=th
90 | http://localhost:8080/rich_search/postgresql?word=ar
91 | http://localhost:8080/rich_search/postgresql?word=sc
92 | http://localhost:8080/rich_search/postgresql?word=aw
93 | http://localhost:8080/rich_search/postgresql?word=ni
94 | http://localhost:8080/rich_search/postgresql?word=cl
95 | http://localhost:8080/rich_search/postgresql?word=xe
96 | http://localhost:8080/rich_search/postgresql?word=in
97 | http://localhost:8080/rich_search/postgresql?word=et
98 | http://localhost:8080/rich_search/postgresql?word=es
99 | http://localhost:8080/rich_search/postgresql?word=bo
100 | http://localhost:8080/rich_search/postgresql?word=rh
101 | http://localhost:8080/rich_search/postgresql?word=pr
102 | http://localhost:8080/rich_search/postgresql?word=xa
103 | http://localhost:8080/rich_search/postgresql?word=my
104 | http://localhost:8080/rich_search/postgresql?word=ed
105 | http://localhost:8080/rich_search/postgresql?word=so
106 | http://localhost:8080/rich_search/postgresql?word=ta
107 | http://localhost:8080/rich_search/postgresql?word=zu
108 | http://localhost:8080/rich_search/postgresql?word=ef
109 | http://localhost:8080/rich_search/postgresql?word=fr
110 | http://localhost:8080/rich_search/postgresql?word=ex
111 | http://localhost:8080/rich_search/postgresql?word=ju
112 | http://localhost:8080/rich_search/postgresql?word=is
113 | http://localhost:8080/rich_search/postgresql?word=dr
114 | http://localhost:8080/rich_search/postgresql?word=gi
115 | http://localhost:8080/rich_search/postgresql?word=ol
116 | http://localhost:8080/rich_search/postgresql?word=up
117 | http://localhost:8080/rich_search/postgresql?word=em
118 | http://localhost:8080/rich_search/postgresql?word=mi
119 | http://localhost:8080/rich_search/postgresql?word=ag
120 | http://localhost:8080/rich_search/postgresql?word=oy
121 | http://localhost:8080/rich_search/postgresql?word=hy
122 | http://localhost:8080/rich_search/postgresql?word=zy
123 | http://localhost:8080/rich_search/postgresql?word=an
124 | http://localhost:8080/rich_search/postgresql?word=as
125 | http://localhost:8080/rich_search/postgresql?word=po
126 | http://localhost:8080/rich_search/postgresql?word=ka
127 | http://localhost:8080/rich_search/postgresql?word=mu
128 | http://localhost:8080/rich_search/postgresql?word=lu
129 | http://localhost:8080/rich_search/postgresql?word=at
130 | http://localhost:8080/rich_search/postgresql?word=pl
131 | http://localhost:8080/rich_search/postgresql?word=jo
132 | http://localhost:8080/rich_search/postgresql?word=ox
133 | http://localhost:8080/rich_search/postgresql?word=de
134 | http://localhost:8080/rich_search/postgresql?word=zo
135 | http://localhost:8080/rich_search/postgresql?word=wh
136 | http://localhost:8080/rich_search/postgresql?word=ne
137 | http://localhost:8080/rich_search/postgresql?word=wo
138 | http://localhost:8080/rich_search/postgresql?word=ab
139 | http://localhost:8080/rich_search/postgresql?word=ou
140 | http://localhost:8080/rich_search/postgresql?word=cy
141 | http://localhost:8080/rich_search/postgresql?word=en
142 | http://localhost:8080/rich_search/postgresql?word=ci
143 | http://localhost:8080/rich_search/postgresql?word=he
144 | http://localhost:8080/rich_search/postgresql?word=di
145 | http://localhost:8080/rich_search/postgresql?word=lo
146 | http://localhost:8080/rich_search/postgresql?word=it
147 | http://localhost:8080/rich_search/postgresql?word=bl
148 | http://localhost:8080/rich_search/postgresql?word=ru
149 | http://localhost:8080/rich_search/postgresql?word=fo
150 | http://localhost:8080/rich_search/postgresql?word=ps
151 | http://localhost:8080/rich_search/postgresql?word=ty
152 | http://localhost:8080/rich_search/postgresql?word=am
153 | http://localhost:8080/rich_search/postgresql?word=ob
154 | http://localhost:8080/rich_search/postgresql?word=ba
155 | http://localhost:8080/rich_search/postgresql?word=qu
156 | http://localhost:8080/rich_search/postgresql?word=tr
157 | http://localhost:8080/rich_search/postgresql?word=ak
158 | http://localhost:8080/rich_search/postgresql?word=pi
159 | http://localhost:8080/rich_search/postgresql?word=na
160 | http://localhost:8080/rich_search/postgresql?word=sh
161 | http://localhost:8080/rich_search/postgresql?word=oc
162 | http://localhost:8080/rich_search/postgresql?word=ce
163 | http://localhost:8080/rich_search/postgresql?word=be
164 | http://localhost:8080/rich_search/postgresql?word=te
165 | http://localhost:8080/rich_search/postgresql?word=fe
166 | http://localhost:8080/rich_search/postgresql?word=su
167 | http://localhost:8080/rich_search/postgresql?word=oo
168 | http://localhost:8080/rich_search/postgresql?word=ul
169 | http://localhost:8080/rich_search/postgresql?word=la
170 | http://localhost:8080/rich_search/postgresql?word=kn
171 | http://localhost:8080/rich_search/postgresql?word=al
172 | http://localhost:8080/rich_search/postgresql?word=sk
173 | http://localhost:8080/rich_search/postgresql?word=pe
174 | http://localhost:8080/rich_search/postgresql?word=ke
175 | http://localhost:8080/rich_search/postgresql?word=ki
176 | http://localhost:8080/rich_search/postgresql?word=fa
177 | http://localhost:8080/rich_search/postgresql?word=mo
178 | http://localhost:8080/rich_search/postgresql?word=vi
179 | http://localhost:8080/rich_search/postgresql?word=sn
180 | http://localhost:8080/rich_search/postgresql?word=ch
181 | http://localhost:8080/rich_search/postgresql?word=sy
182 | http://localhost:8080/rich_search/postgresql?word=cr
183 | http://localhost:8080/rich_search/postgresql?word=pu
184 | http://localhost:8080/rich_search/postgresql?word=ho
185 | http://localhost:8080/rich_search/postgresql?word=fu
186 | http://localhost:8080/rich_search/postgresql?word=fi
187 | http://localhost:8080/rich_search/postgresql?word=oe
--------------------------------------------------------------------------------
/benchmark/rich_search_select_all_urls.txt:
--------------------------------------------------------------------------------
1 | http://localhost:8080/rich_search/select_all?word=py
2 | http://localhost:8080/rich_search/select_all?word=ev
3 | http://localhost:8080/rich_search/select_all?word=ic
4 | http://localhost:8080/rich_search/select_all?word=ve
5 | http://localhost:8080/rich_search/select_all?word=vo
6 | http://localhost:8080/rich_search/select_all?word=to
7 | http://localhost:8080/rich_search/select_all?word=cu
8 | http://localhost:8080/rich_search/select_all?word=wa
9 | http://localhost:8080/rich_search/select_all?word=li
10 | http://localhost:8080/rich_search/select_all?word=br
11 | http://localhost:8080/rich_search/select_all?word=ku
12 | http://localhost:8080/rich_search/select_all?word=ma
13 | http://localhost:8080/rich_search/select_all?word=du
14 | http://localhost:8080/rich_search/select_all?word=ti
15 | http://localhost:8080/rich_search/select_all?word=no
16 | http://localhost:8080/rich_search/select_all?word=le
17 | http://localhost:8080/rich_search/select_all?word=gu
18 | http://localhost:8080/rich_search/select_all?word=ur
19 | http://localhost:8080/rich_search/select_all?word=sa
20 | http://localhost:8080/rich_search/select_all?word=un
21 | http://localhost:8080/rich_search/select_all?word=us
22 | http://localhost:8080/rich_search/select_all?word=do
23 | http://localhost:8080/rich_search/select_all?word=or
24 | http://localhost:8080/rich_search/select_all?word=ye
25 | http://localhost:8080/rich_search/select_all?word=ia
26 | http://localhost:8080/rich_search/select_all?word=si
27 | http://localhost:8080/rich_search/select_all?word=ac
28 | http://localhost:8080/rich_search/select_all?word=co
29 | http://localhost:8080/rich_search/select_all?word=dy
30 | http://localhost:8080/rich_search/select_all?word=ha
31 | http://localhost:8080/rich_search/select_all?word=op
32 | http://localhost:8080/rich_search/select_all?word=wr
33 | http://localhost:8080/rich_search/select_all?word=tu
34 | http://localhost:8080/rich_search/select_all?word=sp
35 | http://localhost:8080/rich_search/select_all?word=gr
36 | http://localhost:8080/rich_search/select_all?word=ji
37 | http://localhost:8080/rich_search/select_all?word=sw
38 | http://localhost:8080/rich_search/select_all?word=se
39 | http://localhost:8080/rich_search/select_all?word=af
40 | http://localhost:8080/rich_search/select_all?word=re
41 | http://localhost:8080/rich_search/select_all?word=fl
42 | http://localhost:8080/rich_search/select_all?word=eq
43 | http://localhost:8080/rich_search/select_all?word=st
44 | http://localhost:8080/rich_search/select_all?word=ko
45 | http://localhost:8080/rich_search/select_all?word=ap
46 | http://localhost:8080/rich_search/select_all?word=by
47 | http://localhost:8080/rich_search/select_all?word=je
48 | http://localhost:8080/rich_search/select_all?word=hi
49 | http://localhost:8080/rich_search/select_all?word=ea
50 | http://localhost:8080/rich_search/select_all?word=eu
51 | http://localhost:8080/rich_search/select_all?word=ca
52 | http://localhost:8080/rich_search/select_all?word=bi
53 | http://localhost:8080/rich_search/select_all?word=ov
54 | http://localhost:8080/rich_search/select_all?word=da
55 | http://localhost:8080/rich_search/select_all?word=go
56 | http://localhost:8080/rich_search/select_all?word=er
57 | http://localhost:8080/rich_search/select_all?word=hu
58 | http://localhost:8080/rich_search/select_all?word=io
59 | http://localhost:8080/rich_search/select_all?word=ra
60 | http://localhost:8080/rich_search/select_all?word=ad
61 | http://localhost:8080/rich_search/select_all?word=gy
62 | http://localhost:8080/rich_search/select_all?word=eb
63 | http://localhost:8080/rich_search/select_all?word=ja
64 | http://localhost:8080/rich_search/select_all?word=sm
65 | http://localhost:8080/rich_search/select_all?word=kh
66 | http://localhost:8080/rich_search/select_all?word=ge
67 | http://localhost:8080/rich_search/select_all?word=ae
68 | http://localhost:8080/rich_search/select_all?word=ai
69 | http://localhost:8080/rich_search/select_all?word=ir
70 | http://localhost:8080/rich_search/select_all?word=ek
71 | http://localhost:8080/rich_search/select_all?word=bu
72 | http://localhost:8080/rich_search/select_all?word=au
73 | http://localhost:8080/rich_search/select_all?word=wi
74 | http://localhost:8080/rich_search/select_all?word=ee
75 | http://localhost:8080/rich_search/select_all?word=ep
76 | http://localhost:8080/rich_search/select_all?word=pa
77 | http://localhost:8080/rich_search/select_all?word=me
78 | http://localhost:8080/rich_search/select_all?word=ga
79 | http://localhost:8080/rich_search/select_all?word=va
80 | http://localhost:8080/rich_search/select_all?word=we
81 | http://localhost:8080/rich_search/select_all?word=ri
82 | http://localhost:8080/rich_search/select_all?word=el
83 | http://localhost:8080/rich_search/select_all?word=sq
84 | http://localhost:8080/rich_search/select_all?word=ph
85 | http://localhost:8080/rich_search/select_all?word=ro
86 | http://localhost:8080/rich_search/select_all?word=nu
87 | http://localhost:8080/rich_search/select_all?word=gl
88 | http://localhost:8080/rich_search/select_all?word=im
89 | http://localhost:8080/rich_search/select_all?word=th
90 | http://localhost:8080/rich_search/select_all?word=ar
91 | http://localhost:8080/rich_search/select_all?word=sc
92 | http://localhost:8080/rich_search/select_all?word=aw
93 | http://localhost:8080/rich_search/select_all?word=ni
94 | http://localhost:8080/rich_search/select_all?word=cl
95 | http://localhost:8080/rich_search/select_all?word=xe
96 | http://localhost:8080/rich_search/select_all?word=in
97 | http://localhost:8080/rich_search/select_all?word=et
98 | http://localhost:8080/rich_search/select_all?word=es
99 | http://localhost:8080/rich_search/select_all?word=bo
100 | http://localhost:8080/rich_search/select_all?word=rh
101 | http://localhost:8080/rich_search/select_all?word=pr
102 | http://localhost:8080/rich_search/select_all?word=xa
103 | http://localhost:8080/rich_search/select_all?word=my
104 | http://localhost:8080/rich_search/select_all?word=ed
105 | http://localhost:8080/rich_search/select_all?word=so
106 | http://localhost:8080/rich_search/select_all?word=ta
107 | http://localhost:8080/rich_search/select_all?word=zu
108 | http://localhost:8080/rich_search/select_all?word=ef
109 | http://localhost:8080/rich_search/select_all?word=fr
110 | http://localhost:8080/rich_search/select_all?word=ex
111 | http://localhost:8080/rich_search/select_all?word=ju
112 | http://localhost:8080/rich_search/select_all?word=is
113 | http://localhost:8080/rich_search/select_all?word=dr
114 | http://localhost:8080/rich_search/select_all?word=gi
115 | http://localhost:8080/rich_search/select_all?word=ol
116 | http://localhost:8080/rich_search/select_all?word=up
117 | http://localhost:8080/rich_search/select_all?word=em
118 | http://localhost:8080/rich_search/select_all?word=mi
119 | http://localhost:8080/rich_search/select_all?word=ag
120 | http://localhost:8080/rich_search/select_all?word=oy
121 | http://localhost:8080/rich_search/select_all?word=hy
122 | http://localhost:8080/rich_search/select_all?word=zy
123 | http://localhost:8080/rich_search/select_all?word=an
124 | http://localhost:8080/rich_search/select_all?word=as
125 | http://localhost:8080/rich_search/select_all?word=po
126 | http://localhost:8080/rich_search/select_all?word=ka
127 | http://localhost:8080/rich_search/select_all?word=mu
128 | http://localhost:8080/rich_search/select_all?word=lu
129 | http://localhost:8080/rich_search/select_all?word=at
130 | http://localhost:8080/rich_search/select_all?word=pl
131 | http://localhost:8080/rich_search/select_all?word=jo
132 | http://localhost:8080/rich_search/select_all?word=ox
133 | http://localhost:8080/rich_search/select_all?word=de
134 | http://localhost:8080/rich_search/select_all?word=zo
135 | http://localhost:8080/rich_search/select_all?word=wh
136 | http://localhost:8080/rich_search/select_all?word=ne
137 | http://localhost:8080/rich_search/select_all?word=wo
138 | http://localhost:8080/rich_search/select_all?word=ab
139 | http://localhost:8080/rich_search/select_all?word=ou
140 | http://localhost:8080/rich_search/select_all?word=cy
141 | http://localhost:8080/rich_search/select_all?word=en
142 | http://localhost:8080/rich_search/select_all?word=ci
143 | http://localhost:8080/rich_search/select_all?word=he
144 | http://localhost:8080/rich_search/select_all?word=di
145 | http://localhost:8080/rich_search/select_all?word=lo
146 | http://localhost:8080/rich_search/select_all?word=it
147 | http://localhost:8080/rich_search/select_all?word=bl
148 | http://localhost:8080/rich_search/select_all?word=ru
149 | http://localhost:8080/rich_search/select_all?word=fo
150 | http://localhost:8080/rich_search/select_all?word=ps
151 | http://localhost:8080/rich_search/select_all?word=ty
152 | http://localhost:8080/rich_search/select_all?word=am
153 | http://localhost:8080/rich_search/select_all?word=ob
154 | http://localhost:8080/rich_search/select_all?word=ba
155 | http://localhost:8080/rich_search/select_all?word=qu
156 | http://localhost:8080/rich_search/select_all?word=tr
157 | http://localhost:8080/rich_search/select_all?word=ak
158 | http://localhost:8080/rich_search/select_all?word=pi
159 | http://localhost:8080/rich_search/select_all?word=na
160 | http://localhost:8080/rich_search/select_all?word=sh
161 | http://localhost:8080/rich_search/select_all?word=oc
162 | http://localhost:8080/rich_search/select_all?word=ce
163 | http://localhost:8080/rich_search/select_all?word=be
164 | http://localhost:8080/rich_search/select_all?word=te
165 | http://localhost:8080/rich_search/select_all?word=fe
166 | http://localhost:8080/rich_search/select_all?word=su
167 | http://localhost:8080/rich_search/select_all?word=oo
168 | http://localhost:8080/rich_search/select_all?word=ul
169 | http://localhost:8080/rich_search/select_all?word=la
170 | http://localhost:8080/rich_search/select_all?word=kn
171 | http://localhost:8080/rich_search/select_all?word=al
172 | http://localhost:8080/rich_search/select_all?word=sk
173 | http://localhost:8080/rich_search/select_all?word=pe
174 | http://localhost:8080/rich_search/select_all?word=ke
175 | http://localhost:8080/rich_search/select_all?word=ki
176 | http://localhost:8080/rich_search/select_all?word=fa
177 | http://localhost:8080/rich_search/select_all?word=mo
178 | http://localhost:8080/rich_search/select_all?word=vi
179 | http://localhost:8080/rich_search/select_all?word=sn
180 | http://localhost:8080/rich_search/select_all?word=ch
181 | http://localhost:8080/rich_search/select_all?word=sy
182 | http://localhost:8080/rich_search/select_all?word=cr
183 | http://localhost:8080/rich_search/select_all?word=pu
184 | http://localhost:8080/rich_search/select_all?word=ho
185 | http://localhost:8080/rich_search/select_all?word=fu
186 | http://localhost:8080/rich_search/select_all?word=fi
187 | http://localhost:8080/rich_search/select_all?word=oe
--------------------------------------------------------------------------------
/benchmark/words.txt:
--------------------------------------------------------------------------------
1 | abaissed
2 | abbatial
3 | abelia
4 | abrupt
5 | acaleph
6 | acclimatize
7 | accusatival
8 | acetalization
9 | acetnaphthalide
10 | acousmatic
11 | actionless
12 | adenocancroid
13 | advancement
14 | advisal
15 | aeromancy
16 | affectationist
17 | agathism
18 | agoge
19 | agranulocytosis
20 | aguelike
21 | ait
22 | ake
23 | akinesia
24 | alarmed
25 | albuminimeter
26 | alcelaphine
27 | alexic
28 | algometrical
29 | altazimuth
30 | amalgamate
31 | amanuenses
32 | anacrisis
33 | anaematosis
34 | analcime
35 | analphabet
36 | anamniotic
37 | anele
38 | anemoscope
39 | animadverter
40 | anoine
41 | antecedently
42 | anticaste
43 | anticomplementary
44 | antihemisphere
45 | antitragic
46 | anywhen
47 | aphthartodocetism
48 | appeasing
49 | approbate
50 | archaeolithic
51 | arctostaphylos
52 | arenilitic
53 | armoried
54 | arthragra
55 | artiste
56 | ashur
57 | aslant
58 | aspalax
59 | assamese
60 | asteraceous
61 | astrography
62 | asynaptic
63 | athwartships
64 | atloidoaxoid
65 | atridean
66 | atropia
67 | atticize
68 | auricula
69 | auriphone
70 | autoclave
71 | autogenetically
72 | autonoetic
73 | autotuberculin
74 | autumn
75 | awellimiden
76 | babaylan
77 | babelism
78 | babish
79 | bacbakiri
80 | barbas
81 | barbiturate
82 | bargainee
83 | bask
84 | bayamo
85 | beauseant
86 | bedgery
87 | bedoctor
88 | belong
89 | benet
90 | bessarabian
91 | betterer
92 | bicapitate
93 | bildar
94 | bipyramid
95 | bistort
96 | blast
97 | blastoneuropore
98 | blattodea
99 | blenniiform
100 | blepharochalasis
101 | bloodflower
102 | blotchy
103 | blowoff
104 | bluebutton
105 | bobac
106 | boebera
107 | bolewort
108 | boringly
109 | bossiness
110 | bougar
111 | brabble
112 | brangling
113 | brecken
114 | bremely
115 | bremeness
116 | broguish
117 | bronchoesophagoscopy
118 | buddhaship
119 | bugle
120 | burbly
121 | burrito
122 | butanoic
123 | butchery
124 | butlerlike
125 | buttress
126 | buzzwig
127 | byssin
128 | cableman
129 | cabriole
130 | cacoethic
131 | cadaverize
132 | cadaverously
133 | calycanthaceous
134 | campanulariae
135 | cardialgy
136 | carlin
137 | caseworker
138 | castalian
139 | castellate
140 | casula
141 | cataclastic
142 | catarinite
143 | cautelously
144 | cavelike
145 | cazimi
146 | centrode
147 | cephalogenesis
148 | chamkanni
149 | chartist
150 | chartless
151 | chatterbox
152 | cheiropatagium
153 | cheven
154 | chloragogen
155 | cholecystojejunostomy
156 | chondroskeleton
157 | chondrotomy
158 | choragion
159 | christ
160 | cinchonate
161 | cinemograph
162 | cistic
163 | clinia
164 | clinic
165 | clumpish
166 | coadunite
167 | coapt
168 | coattailed
169 | cobblestone
170 | cobwebbery
171 | cocainization
172 | cockalorum
173 | coenoecic
174 | coessential
175 | cogue
176 | coinheritance
177 | combretaceous
178 | complimentingly
179 | conceitedness
180 | conditionalist
181 | connie
182 | consignificate
183 | consignify
184 | contorted
185 | conversationalist
186 | converting
187 | convolvulin
188 | copperbottom
189 | cordon
190 | corniculum
191 | coronobasilar
192 | corrobboree
193 | cotarnine
194 | cotype
195 | coumarou
196 | counterarch
197 | counterstock
198 | countertransference
199 | craniosacral
200 | crick
201 | cuba
202 | cumyl
203 | cyanochroic
204 | cymosely
205 | dastardliness
206 | debarration
207 | decarburation
208 | decorator
209 | decostate
210 | deditician
211 | defectology
212 | deluding
213 | demibeast
214 | demnition
215 | dennis
216 | departer
217 | depolarize
218 | deradenoncus
219 | dermoreaction
220 | desmachymatous
221 | desulphurization
222 | dewer
223 | diacodion
224 | diadromous
225 | dialectology
226 | diarthric
227 | dicarbonic
228 | diceras
229 | dimanganous
230 | diplanetic
231 | directorate
232 | discolorment
233 | discredence
234 | discursively
235 | disenfranchise
236 | disilicid
237 | disilicide
238 | disobligation
239 | diverting
240 | doctoral
241 | doctorless
242 | dolichocephalic
243 | donjon
244 | dopper
245 | dough
246 | doxy
247 | draftsmanship
248 | drawgear
249 | drawstring
250 | druse
251 | dulcin
252 | dullish
253 | dygogram
254 | dynamometamorphosed
255 | eagle
256 | earlap
257 | ebullitive
258 | edna
259 | eelware
260 | efficaciously
261 | ekamanganese
262 | elaeodendron
263 | elaterid
264 | electioneerer
265 | emolumental
266 | empiecement
267 | enaluron
268 | endothermic
269 | endovaccination
270 | engold
271 | enlightenedness
272 | entailment
273 | enumerative
274 | epilogic
275 | epistemological
276 | equant
277 | eros
278 | erotopathic
279 | erythroclasis
280 | erythrocytic
281 | escaper
282 | ethnobotany
283 | eurycephalous
284 | euthamia
285 | evetide
286 | excessman
287 | exodermis
288 | exoteric
289 | express
290 | expurgative
291 | extracosmic
292 | extraovular
293 | falchion
294 | farmhouse
295 | farmhousey
296 | fathom
297 | favorite
298 | feminism
299 | feoffor
300 | fernbird
301 | fervanite
302 | festive
303 | feverbush
304 | fidia
305 | filippo
306 | fillable
307 | firmisternia
308 | fishback
309 | fivescore
310 | flint
311 | florence
312 | floriscope
313 | fluidize
314 | flumerin
315 | foredate
316 | forehoof
317 | forensical
318 | forestal
319 | forksmith
320 | friend
321 | frivolity
322 | frog
323 | frustum
324 | furtively
325 | galenical
326 | galvanopsychic
327 | gamostelic
328 | ganglioform
329 | gansey
330 | gassing
331 | gastriloquist
332 | gemmeous
333 | geoscopic
334 | germanophobic
335 | ginglymodi
336 | glair
337 | glaister
338 | gliosa
339 | godsake
340 | goniopholis
341 | gorlois
342 | governesshood
343 | grabbling
344 | granulative
345 | graphis
346 | greaser
347 | greenless
348 | gregorianize
349 | griffade
350 | guestchamber
351 | gunpowder
352 | gymnocarpic
353 | gyrational
354 | gyrostabilizer
355 | haematobranchia
356 | hairmonger
357 | halieutics
358 | hamulites
359 | handclasp
360 | harmless
361 | harmonometer
362 | hateful
363 | haycap
364 | heelball
365 | helicoidal
366 | hemicranic
367 | hemihedric
368 | hendecasyllable
369 | hermetic
370 | hermetically
371 | hermoglyphic
372 | hesthogenous
373 | heteromyaria
374 | heterosuggestion
375 | hilda
376 | hiliferous
377 | hoist
378 | holly
379 | holocaust
380 | homeotic
381 | homologon
382 | homovanillic
383 | honeyful
384 | hoplonemertine
385 | hot
386 | hunanese
387 | hunk
388 | hurried
389 | hussyness
390 | hutterites
391 | hyalotype
392 | hydrazide
393 | hydrocarbon
394 | hymnology
395 | hyoepiglottidean
396 | hyperbolicly
397 | hyperintelligence
398 | hyperobtrusive
399 | hypersensualism
400 | hypnocyst
401 | hypophysectomy
402 | iamb
403 | ichnological
404 | ichthyal
405 | impolarizable
406 | incivility
407 | incoherentific
408 | inconfutable
409 | indifferentist
410 | indigitate
411 | inducer
412 | inexact
413 | inexistent
414 | infective
415 | inflamed
416 | infrugal
417 | ingulf
418 | inhabitiveness
419 | inkwriter
420 | inoperculate
421 | insculpture
422 | instrumentalize
423 | insurmountability
424 | intemporally
425 | intercessor
426 | intercondenser
427 | intercrystallize
428 | interesting
429 | interhemispheric
430 | interimistic
431 | interroom
432 | intershock
433 | intracommunication
434 | intrafissural
435 | inweight
436 | iodopsin
437 | irrationalism
438 | isogeotherm
439 | isolationism
440 | italicize
441 | jaculatory
442 | jesu
443 | jiltee
444 | johnstrupite
445 | jokingly
446 | jolting
447 | jong
448 | julien
449 | justifiable
450 | kappe
451 | karyokinetic
452 | keb
453 | ketol
454 | khediva
455 | kirkify
456 | kittly
457 | knock
458 | knowable
459 | kodakist
460 | kowtow
461 | kusti
462 | labionasal
463 | lactigenous
464 | lansquenet
465 | latentness
466 | lateritic
467 | leewardness
468 | lemurian
469 | lenaean
470 | lentitudinous
471 | lestiwarite
472 | libatory
473 | liber
474 | limulid
475 | lionel
476 | lipodystrophia
477 | listred
478 | lithely
479 | lixive
480 | lobatae
481 | localness
482 | logicist
483 | logometric
484 | loined
485 | lokapala
486 | longipennate
487 | lophiomyidae
488 | lorilet
489 | lowly
490 | lucentio
491 | luge
492 | lumbricus
493 | macadamization
494 | magistratical
495 | malhygiene
496 | manurially
497 | manyways
498 | massiest
499 | mealtime
500 | mediterraneanization
501 | meditrinalia
502 | mellimide
503 | mendelssohnic
504 | mesitite
505 | mesomorph
506 | mesopterygoid
507 | metaconid
508 | metaparapteral
509 | methylnaphthalene
510 | metrectopy
511 | mick
512 | microphonic
513 | microscopize
514 | mimosaceae
515 | minkish
516 | misbehave
517 | misorganize
518 | misresolved
519 | mixobarbaric
520 | modulation
521 | monadology
522 | monobloc
523 | monogenesy
524 | monoparesis
525 | mornings
526 | motor
527 | mouseweb
528 | mowana
529 | multichord
530 | multifidus
531 | multivocal
532 | myopic
533 | mythologer
534 | myxospongiae
535 | nagman
536 | nakedish
537 | napecrest
538 | nardus
539 | nasicorn
540 | nasioalveolar
541 | nebby
542 | necktieless
543 | needleproof
544 | negotiatrix
545 | neon
546 | neoplasty
547 | nephros
548 | neuromere
549 | neuropterous
550 | neurotherapy
551 | nitrifaction
552 | nivenite
553 | noiselessly
554 | nonabjurer
555 | noncertified
556 | nonepileptic
557 | nonindictable
558 | nonintrusion
559 | nonmedicinal
560 | nonmetallic
561 | nonmodal
562 | nonpress
563 | northerliness
564 | nucleofugal
565 | nude
566 | nullifier
567 | obsidionary
568 | oceanican
569 | oecodomic
570 | olfactology
571 | oligoprothesy
572 | oocyesis
573 | operetta
574 | opthalmophorium
575 | orphanism
576 | outfeast
577 | outpart
578 | outtrade
579 | outwalk
580 | ovalize
581 | overbookish
582 | overbred
583 | overcall
584 | overconscientious
585 | overcontribution
586 | overheadiness
587 | overproportioned
588 | oversteadfastness
589 | oversubtly
590 | overswell
591 | ovile
592 | oxalemia
593 | oxamate
594 | oysterage
595 | palaeodendrologically
596 | palatineship
597 | pancreaticoduodenostomy
598 | pantiling
599 | pantomimish
600 | papalty
601 | parachromophorous
602 | paraflocculus
603 | paranthelion
604 | parasitical
605 | parcellation
606 | parenchymous
607 | parisyllabical
608 | paroecy
609 | paronymic
610 | partan
611 | particularistically
612 | pedalism
613 | pentalogy
614 | pentecostal
615 | percid
616 | period
617 | periodicity
618 | permalloy
619 | perovskite
620 | persecution
621 | perturbment
622 | phenocoll
623 | phloretic
624 | phoenicaceous
625 | phosphocarnic
626 | photochromotypy
627 | photoelectricity
628 | phragmoid
629 | phycoerythrin
630 | phyllostomatidae
631 | phylogeny
632 | phytalbumose
633 | phytoteratologist
634 | pikeman
635 | pimpinella
636 | pinda
637 | piney
638 | pinguitude
639 | pipless
640 | pirouette
641 | plectopter
642 | pleistocenic
643 | pleny
644 | plowgate
645 | poleaxer
646 | polyarchy
647 | polygenism
648 | polystyle
649 | polythene
650 | ponderancy
651 | pooler
652 | poop
653 | popocracy
654 | porously
655 | postvertebral
656 | praisefully
657 | praseocobaltic
658 | preceptorate
659 | preharvest
660 | preissuance
661 | prelaticalness
662 | prenaval
663 | presbytinae
664 | presuperficiality
665 | preundertake
666 | primulaverin
667 | priodon
668 | proclamation
669 | proeducational
670 | profeminism
671 | propose
672 | prorailroad
673 | prosodetic
674 | protrade
675 | provicariate
676 | pseudocelian
677 | pseudoconjugation
678 | pseudoerythrin
679 | pseudoneuropter
680 | pucellas
681 | pudendum
682 | pulsatility
683 | punctuate
684 | purposeful
685 | pyloroplasty
686 | pyocele
687 | pyrgocephalic
688 | pyrotritartric
689 | quadrifolium
690 | querecho
691 | quizzatorial
692 | railroadish
693 | raintight
694 | rangle
695 | rasp
696 | rata
697 | reaminess
698 | reassumption
699 | reboisement
700 | rebraid
701 | recast
702 | reciprocatory
703 | recission
704 | reclinable
705 | recoilment
706 | recollectedness
707 | rectangularness
708 | redargutory
709 | redeployment
710 | redetect
711 | reimportune
712 | reimposition
713 | reinterference
714 | remotion
715 | renderable
716 | reputableness
717 | resheathe
718 | resift
719 | resize
720 | retreating
721 | retrobronchial
722 | returban
723 | revete
724 | revokable
725 | rhagon
726 | rickettsial
727 | rigorousness
728 | rob
729 | robinia
730 | rosario
731 | rotacism
732 | rotular
733 | rousedness
734 | rubianic
735 | rueful
736 | rugmaking
737 | russifier
738 | ruthenian
739 | ruthenous
740 | sachem
741 | sacramentalism
742 | sadr
743 | safi
744 | sagely
745 | salpingemphraxis
746 | sandbox
747 | sapodilla
748 | sarcocystis
749 | satanship
750 | savation
751 | saviorship
752 | sawmaking
753 | scandium
754 | scarabaeinae
755 | scentful
756 | schapping
757 | scrobe
758 | scrobis
759 | sectionalism
760 | sedgy
761 | semeia
762 | semialcoholic
763 | semicircumvolution
764 | septuple
765 | serolin
766 | serpenticidal
767 | severeness
768 | shona
769 | short
770 | singlehearted
771 | singultous
772 | siphonostomatous
773 | siskin
774 | skilder
775 | skippet
776 | skither
777 | skokiaan
778 | skulking
779 | smalts
780 | smilet
781 | smyrniote
782 | snailflower
783 | snobber
784 | snowslip
785 | solacious
786 | somatotype
787 | sorrento
788 | speculativism
789 | spikewise
790 | spinnerular
791 | spirochetosis
792 | spoilation
793 | spurwing
794 | squamellate
795 | stadholderate
796 | stampee
797 | stank
798 | starost
799 | sternotherus
800 | stomodaeum
801 | stonewood
802 | straint
803 | stroppings
804 | stylopid
805 | subcarboniferous
806 | subdichotomize
807 | subendocardial
808 | subfalcate
809 | subidea
810 | sublimer
811 | subnervian
812 | subocular
813 | subterrestrial
814 | subvicar
815 | sulfuran
816 | sulphatize
817 | sulphazide
818 | sunblink
819 | supe
820 | suppository
821 | surrealist
822 | surrejoin
823 | swanlike
824 | swiften
825 | symbolic
826 | synodical
827 | talaric
828 | tangle
829 | taxiable
830 | taxology
831 | teeterer
832 | telosynaptic
833 | tentacula
834 | terakihi
835 | terminableness
836 | termitophilous
837 | theogeological
838 | thermopolymerization
839 | thighbone
840 | thirstless
841 | thoracicoabdominal
842 | threne
843 | thromboarteritis
844 | thunderstruck
845 | thyroidless
846 | timberwright
847 | time
848 | timid
849 | titanical
850 | titanically
851 | tonicobalsamic
852 | tonish
853 | topicality
854 | toppingness
855 | torrential
856 | townishness
857 | toxicotraumatic
858 | tramway
859 | transfix
860 | transriverine
861 | transylvanian
862 | trapeziometacarpal
863 | traversary
864 | tribalism
865 | triborough
866 | tricolon
867 | trigynous
868 | tringoid
869 | trinol
870 | trisyllabically
871 | tritheist
872 | trochantinian
873 | trochleate
874 | trolleyful
875 | trollopish
876 | trophoplast
877 | tupaia
878 | turion
879 | tyburn
880 | typewriter
881 | typhogenic
882 | ultraeligible
883 | ultraliberal
884 | unappropriateness
885 | unaspiringly
886 | unavailingly
887 | unawardableness
888 | unbankably
889 | unbetrayed
890 | unbloody
891 | unburgessed
892 | unceremented
893 | unclimbing
894 | unconsiderate
895 | uncontainably
896 | uncontroverted
897 | unconventioned
898 | uncrooked
899 | undelusive
900 | undereat
901 | underfilling
902 | undermentioned
903 | unequaled
904 | unerect
905 | unforethoughtful
906 | unfrounced
907 | unfusibleness
908 | ungarland
909 | unhazarded
910 | unheightened
911 | unhindering
912 | unhoaxed
913 | unhumiliated
914 | unicyclist
915 | unidigitate
916 | unimpartial
917 | uninfolded
918 | unintelligibility
919 | unkind
920 | unlegalized
921 | unmalted
922 | unmanicured
923 | unmarrying
924 | unmonotonous
925 | unofficialness
926 | unopined
927 | unpenitentness
928 | unpray
929 | unprotective
930 | unrebuttableness
931 | unrehabilitated
932 | unrequiting
933 | unresourcefulness
934 | unrococo
935 | unscented
936 | unsew
937 | unshriveled
938 | unsilicified
939 | unslumbrous
940 | unsnarl
941 | unstrengthened
942 | unsystemizable
943 | unteachable
944 | untravestied
945 | unusedness
946 | unveiler
947 | unvocal
948 | unvoluntarily
949 | unyeaned
950 | upsoak
951 | uptube
952 | ursoid
953 | usaron
954 | usneaceous
955 | usself
956 | usward
957 | vagoglossopharyngeal
958 | valoniaceous
959 | vandalic
960 | vannai
961 | variolovaccine
962 | vasospasm
963 | vaultedly
964 | vergency
965 | vermetidae
966 | vespertilioninae
967 | vestigian
968 | vexedness
969 | victorian
970 | violinist
971 | virescence
972 | vocimotor
973 | vomit
974 | vowelist
975 | waik
976 | waldmeister
977 | walt
978 | wanderlust
979 | wapacut
980 | warship
981 | waterwise
982 | wearifully
983 | wedgebill
984 | weirdward
985 | welcome
986 | wheatgrower
987 | whistle
988 | windage
989 | withholdable
990 | wondermongering
991 | work
992 | wrannock
993 | wrappage
994 | xanthyl
995 | xenodochium
996 | yellowing
997 | zolaism
998 | zoophysiology
999 | zugtierlaster
1000 | zymin
--------------------------------------------------------------------------------
/bin/bundle:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
3 | load Gem.bin_path('bundler', 'bundle')
4 |
--------------------------------------------------------------------------------
/bin/rails:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | begin
3 | load File.expand_path("../spring", __FILE__)
4 | rescue LoadError
5 | end
6 | APP_PATH = File.expand_path('../../config/application', __FILE__)
7 | require_relative '../config/boot'
8 | require 'rails/commands'
9 |
--------------------------------------------------------------------------------
/bin/rake:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | begin
3 | load File.expand_path("../spring", __FILE__)
4 | rescue LoadError
5 | end
6 | require_relative '../config/boot'
7 | require 'rake'
8 | Rake.application.run
9 |
--------------------------------------------------------------------------------
/bin/setup:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | require 'pathname'
3 |
4 | # path to your application root.
5 | APP_ROOT = Pathname.new File.expand_path('../../', __FILE__)
6 |
7 | Dir.chdir APP_ROOT do
8 | # This script is a starting point to setup your application.
9 | # Add necessary setup steps to this file:
10 |
11 | puts "== Installing dependencies =="
12 | system "gem install bundler --conservative"
13 | system "bundle check || bundle install"
14 |
15 | # puts "\n== Copying sample files =="
16 | # unless File.exist?("config/database.yml")
17 | # system "cp config/database.yml.sample config/database.yml"
18 | # end
19 |
20 | puts "\n== Preparing database =="
21 | system "bin/rake db:setup"
22 |
23 | puts "\n== Removing old logs and tempfiles =="
24 | system "rm -f log/*"
25 | system "rm -rf tmp/cache"
26 |
27 | puts "\n== Restarting application server =="
28 | system "touch tmp/restart.txt"
29 | end
30 |
--------------------------------------------------------------------------------
/bin/spring:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 |
3 | # This file loads spring without using Bundler, in order to be fast.
4 | # It gets overwritten when you run the `spring binstub` command.
5 |
6 | unless defined?(Spring)
7 | require "rubygems"
8 | require "bundler"
9 |
10 | if match = Bundler.default_lockfile.read.match(/^GEM$.*?^ (?: )*spring \((.*?)\)$.*?^$/m)
11 | Gem.paths = { "GEM_PATH" => [Bundler.bundle_path.to_s, *Gem.path].uniq }
12 | gem "spring", match[1]
13 | require "spring/binstub"
14 | end
15 | end
16 |
--------------------------------------------------------------------------------
/config.ru:
--------------------------------------------------------------------------------
1 | # This file is used by Rack-based servers to start the application.
2 |
3 | require ::File.expand_path('../config/environment', __FILE__)
4 | run Rails.application
5 |
--------------------------------------------------------------------------------
/config/application.rb:
--------------------------------------------------------------------------------
1 | require File.expand_path('../boot', __FILE__)
2 |
3 | require "rails"
4 | # Pick the frameworks you want:
5 | require "active_model/railtie"
6 | require "active_job/railtie"
7 | require "active_record/railtie"
8 | require "action_controller/railtie"
9 | require "action_mailer/railtie"
10 | require "action_view/railtie"
11 | require "sprockets/railtie"
12 | # require "rails/test_unit/railtie"
13 |
14 | # Require the gems listed in Gemfile, including any gems
15 | # you've limited to :test, :development, or :production.
16 | Bundler.require(*Rails.groups)
17 |
18 | module JsonApiBench
19 | class Application < Rails::Application
20 | # Settings in config/environments/* take precedence over those specified here.
21 | # Application configuration should go into files in config/initializers
22 | # -- all .rb files in that directory are automatically loaded.
23 |
24 | # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
25 | # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
26 | # config.time_zone = 'Central Time (US & Canada)'
27 |
28 | # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
29 | # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
30 | # config.i18n.default_locale = :de
31 |
32 | # Do not swallow errors in after_commit/after_rollback callbacks.
33 | config.active_record.raise_in_transactional_callbacks = true
34 |
35 | config.active_record.schema_format = :sql
36 | end
37 | end
38 |
--------------------------------------------------------------------------------
/config/boot.rb:
--------------------------------------------------------------------------------
1 | ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
2 |
3 | require 'bundler/setup' # Set up gems listed in the Gemfile.
4 |
--------------------------------------------------------------------------------
/config/database.yml:
--------------------------------------------------------------------------------
1 | development:
2 | adapter: postgresql
3 | encoding: unicode
4 | database: json_api_bench
5 |
6 | production:
7 | adapter: postgresql
8 | encoding: unicode
9 | database: json_api_bench
10 |
--------------------------------------------------------------------------------
/config/environment.rb:
--------------------------------------------------------------------------------
1 | # Load the Rails application.
2 | require File.expand_path('../application', __FILE__)
3 |
4 | # Initialize the Rails application.
5 | Rails.application.initialize!
6 |
--------------------------------------------------------------------------------
/config/environments/development.rb:
--------------------------------------------------------------------------------
1 | Rails.application.configure do
2 | # Settings specified here will take precedence over those in config/application.rb.
3 |
4 | # In the development environment your application's code is reloaded on
5 | # every request. This slows down response time but is perfect for development
6 | # since you don't have to restart the web server when you make code changes.
7 | config.cache_classes = false
8 |
9 | # Do not eager load code on boot.
10 | config.eager_load = false
11 |
12 | # Show full error reports and disable caching.
13 | config.consider_all_requests_local = true
14 | config.action_controller.perform_caching = false
15 |
16 | # Don't care if the mailer can't send.
17 | config.action_mailer.raise_delivery_errors = false
18 |
19 | # Print deprecation notices to the Rails logger.
20 | config.active_support.deprecation = :log
21 |
22 | # Raise an error on page load if there are pending migrations.
23 | config.active_record.migration_error = :page_load
24 |
25 | # Debug mode disables concatenation and preprocessing of assets.
26 | # This option may cause significant delays in view rendering with a large
27 | # number of complex assets.
28 | config.assets.debug = true
29 |
30 | # Asset digests allow you to set far-future HTTP expiration dates on all assets,
31 | # yet still be able to expire them through the digest params.
32 | config.assets.digest = true
33 |
34 | # Adds additional error checking when serving assets at runtime.
35 | # Checks for improperly declared sprockets dependencies.
36 | # Raises helpful error messages.
37 | config.assets.raise_runtime_errors = true
38 |
39 | # Raises error for missing translations
40 | # config.action_view.raise_on_missing_translations = true
41 | end
42 |
--------------------------------------------------------------------------------
/config/environments/production.rb:
--------------------------------------------------------------------------------
1 | Rails.application.configure do
2 | # Settings specified here will take precedence over those in config/application.rb.
3 |
4 | # Code is not reloaded between requests.
5 | config.cache_classes = true
6 |
7 | # Eager load code on boot. This eager loads most of Rails and
8 | # your application in memory, allowing both threaded web servers
9 | # and those relying on copy on write to perform better.
10 | # Rake tasks automatically ignore this option for performance.
11 | config.eager_load = true
12 |
13 | # Full error reports are disabled and caching is turned on.
14 | config.consider_all_requests_local = false
15 | config.action_controller.perform_caching = true
16 |
17 | # Enable Rack::Cache to put a simple HTTP cache in front of your application
18 | # Add `rack-cache` to your Gemfile before enabling this.
19 | # For large-scale production use, consider using a caching reverse proxy like
20 | # NGINX, varnish or squid.
21 | # config.action_dispatch.rack_cache = true
22 |
23 | # Disable serving static files from the `/public` folder by default since
24 | # Apache or NGINX already handles this.
25 | config.serve_static_files = ENV['RAILS_SERVE_STATIC_FILES'].present?
26 |
27 | # Compress JavaScripts and CSS.
28 | config.assets.js_compressor = :uglifier
29 | # config.assets.css_compressor = :sass
30 |
31 | # Do not fallback to assets pipeline if a precompiled asset is missed.
32 | config.assets.compile = false
33 |
34 | # Asset digests allow you to set far-future HTTP expiration dates on all assets,
35 | # yet still be able to expire them through the digest params.
36 | config.assets.digest = true
37 |
38 | # `config.assets.precompile` and `config.assets.version` have moved to config/initializers/assets.rb
39 |
40 | # Specifies the header that your server uses for sending files.
41 | # config.action_dispatch.x_sendfile_header = 'X-Sendfile' # for Apache
42 | # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX
43 |
44 | # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
45 | # config.force_ssl = true
46 |
47 | # Use the lowest log level to ensure availability of diagnostic information
48 | # when problems arise.
49 | config.log_level = :debug
50 |
51 | # Prepend all log lines with the following tags.
52 | # config.log_tags = [ :subdomain, :uuid ]
53 |
54 | # Use a different logger for distributed setups.
55 | # config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new)
56 |
57 | # Use a different cache store in production.
58 | # config.cache_store = :mem_cache_store
59 |
60 | # Enable serving of images, stylesheets, and JavaScripts from an asset server.
61 | # config.action_controller.asset_host = 'http://assets.example.com'
62 |
63 | # Ignore bad email addresses and do not raise email delivery errors.
64 | # Set this to true and configure the email server for immediate delivery to raise delivery errors.
65 | # config.action_mailer.raise_delivery_errors = false
66 |
67 | # Enable locale fallbacks for I18n (makes lookups for any locale fall back to
68 | # the I18n.default_locale when a translation cannot be found).
69 | config.i18n.fallbacks = true
70 |
71 | # Send deprecation notices to registered listeners.
72 | config.active_support.deprecation = :notify
73 |
74 | # Use default logging formatter so that PID and timestamp are not suppressed.
75 | config.log_formatter = ::Logger::Formatter.new
76 |
77 | # Do not dump schema after migrations.
78 | config.active_record.dump_schema_after_migration = false
79 | end
80 |
--------------------------------------------------------------------------------
/config/environments/test.rb:
--------------------------------------------------------------------------------
1 | Rails.application.configure do
2 | # Settings specified here will take precedence over those in config/application.rb.
3 |
4 | # The test environment is used exclusively to run your application's
5 | # test suite. You never need to work with it otherwise. Remember that
6 | # your test database is "scratch space" for the test suite and is wiped
7 | # and recreated between test runs. Don't rely on the data there!
8 | config.cache_classes = true
9 |
10 | # Do not eager load code on boot. This avoids loading your whole application
11 | # just for the purpose of running a single test. If you are using a tool that
12 | # preloads Rails for running tests, you may have to set it to true.
13 | config.eager_load = false
14 |
15 | # Configure static file server for tests with Cache-Control for performance.
16 | config.serve_static_files = true
17 | config.static_cache_control = 'public, max-age=3600'
18 |
19 | # Show full error reports and disable caching.
20 | config.consider_all_requests_local = true
21 | config.action_controller.perform_caching = false
22 |
23 | # Raise exceptions instead of rendering exception templates.
24 | config.action_dispatch.show_exceptions = false
25 |
26 | # Disable request forgery protection in test environment.
27 | config.action_controller.allow_forgery_protection = false
28 |
29 | # Tell Action Mailer not to deliver emails to the real world.
30 | # The :test delivery method accumulates sent emails in the
31 | # ActionMailer::Base.deliveries array.
32 | config.action_mailer.delivery_method = :test
33 |
34 | # Randomize the order test cases are executed.
35 | config.active_support.test_order = :random
36 |
37 | # Print deprecation notices to the stderr.
38 | config.active_support.deprecation = :stderr
39 |
40 | # Raises error for missing translations
41 | # config.action_view.raise_on_missing_translations = true
42 | end
43 |
--------------------------------------------------------------------------------
/config/initializers/assets.rb:
--------------------------------------------------------------------------------
1 | # Be sure to restart your server when you modify this file.
2 |
3 | # Version of your assets, change this if you want to expire all your assets.
4 | Rails.application.config.assets.version = '1.0'
5 |
6 | # Add additional assets to the asset load path
7 | # Rails.application.config.assets.paths << Emoji.images_path
8 |
9 | # Precompile additional assets.
10 | # application.js, application.css, and all non-JS/CSS in app/assets folder are already added.
11 | # Rails.application.config.assets.precompile += %w( search.js )
12 |
--------------------------------------------------------------------------------
/config/initializers/backtrace_silencers.rb:
--------------------------------------------------------------------------------
1 | # Be sure to restart your server when you modify this file.
2 |
3 | # You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces.
4 | # Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ }
5 |
6 | # You can also remove all the silencers if you're trying to debug a problem that might stem from framework code.
7 | # Rails.backtrace_cleaner.remove_silencers!
8 |
--------------------------------------------------------------------------------
/config/initializers/cookies_serializer.rb:
--------------------------------------------------------------------------------
1 | # Be sure to restart your server when you modify this file.
2 |
3 | Rails.application.config.action_dispatch.cookies_serializer = :json
4 |
--------------------------------------------------------------------------------
/config/initializers/db.rb:
--------------------------------------------------------------------------------
1 | DB = ActiveRecord::Base.connection
--------------------------------------------------------------------------------
/config/initializers/filter_parameter_logging.rb:
--------------------------------------------------------------------------------
1 | # Be sure to restart your server when you modify this file.
2 |
3 | # Configure sensitive parameters which will be filtered from the log file.
4 | Rails.application.config.filter_parameters += [:password]
5 |
--------------------------------------------------------------------------------
/config/initializers/inflections.rb:
--------------------------------------------------------------------------------
1 | # Be sure to restart your server when you modify this file.
2 |
3 | # Add new inflection rules using the following format. Inflections
4 | # are locale specific, and you may define rules for as many different
5 | # locales as you wish. All of these examples are active by default:
6 | # ActiveSupport::Inflector.inflections(:en) do |inflect|
7 | # inflect.plural /^(ox)$/i, '\1en'
8 | # inflect.singular /^(ox)en/i, '\1'
9 | # inflect.irregular 'person', 'people'
10 | # inflect.uncountable %w( fish sheep )
11 | # end
12 |
13 | # These inflection rules are supported but not enabled by default:
14 | # ActiveSupport::Inflector.inflections(:en) do |inflect|
15 | # inflect.acronym 'RESTful'
16 | # end
17 |
--------------------------------------------------------------------------------
/config/initializers/mime_types.rb:
--------------------------------------------------------------------------------
1 | # Be sure to restart your server when you modify this file.
2 |
3 | # Add new mime types for use in respond_to blocks:
4 | # Mime::Type.register "text/richtext", :rtf
5 |
--------------------------------------------------------------------------------
/config/initializers/session_store.rb:
--------------------------------------------------------------------------------
1 | # Be sure to restart your server when you modify this file.
2 |
3 | Rails.application.config.session_store :cookie_store, key: '_json_api_bench_session'
4 |
--------------------------------------------------------------------------------
/config/initializers/wrap_parameters.rb:
--------------------------------------------------------------------------------
1 | # Be sure to restart your server when you modify this file.
2 |
3 | # This file contains settings for ActionController::ParamsWrapper which
4 | # is enabled by default.
5 |
6 | # Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array.
7 | ActiveSupport.on_load(:action_controller) do
8 | wrap_parameters format: [:json] if respond_to?(:wrap_parameters)
9 | end
10 |
11 | # To enable root element in JSON for ActiveRecord objects.
12 | # ActiveSupport.on_load(:active_record) do
13 | # self.include_root_in_json = true
14 | # end
15 |
--------------------------------------------------------------------------------
/config/locales/en.yml:
--------------------------------------------------------------------------------
1 | # Files in the config/locales directory are used for internationalization
2 | # and are automatically loaded by Rails. If you want to use locales other
3 | # than English, add the necessary files in this directory.
4 | #
5 | # To use the locales, use `I18n.t`:
6 | #
7 | # I18n.t 'hello'
8 | #
9 | # In views, this is aliased to just `t`:
10 | #
11 | # <%= t('hello') %>
12 | #
13 | # To use a different locale, set it with `I18n.locale`:
14 | #
15 | # I18n.locale = :es
16 | #
17 | # This would use the information in config/locales/es.yml.
18 | #
19 | # To learn more, please read the Rails Internationalization guide
20 | # available at http://guides.rubyonrails.org/i18n.html.
21 |
22 | en:
23 | hello: "Hello world"
24 |
--------------------------------------------------------------------------------
/config/routes.rb:
--------------------------------------------------------------------------------
1 | JsonApiBench::Application.routes.draw do
2 | get 'quick_search/domain' => 'quick_search#domain'
3 | get 'quick_search/pluck' => 'quick_search#pluck'
4 | get 'quick_search/postgresql' => 'quick_search#postgresql'
5 |
6 | get 'rich_search/domain' => 'rich_search#domain'
7 | get 'rich_search/select_all' => 'rich_search#select_all'
8 | get 'rich_search/postgresql' => 'rich_search#postgresql'
9 |
10 | get 'definition/domain' => 'definition#domain'
11 | get 'definition/postgresql' => 'definition#postgresql'
12 |
13 | get 'many_definitions/domain' => 'many_definitions#domain'
14 | get 'many_definitions/postgresql' => 'many_definitions#postgresql'
15 | end
16 |
--------------------------------------------------------------------------------
/config/secrets.yml:
--------------------------------------------------------------------------------
1 | # Be sure to restart your server when you modify this file.
2 |
3 | # Your secret key is used for verifying the integrity of signed cookies.
4 | # If you change this key, all old signed cookies will become invalid!
5 |
6 | # Make sure the secret is at least 30 characters and all random,
7 | # no regular words or you'll be exposed to dictionary attacks.
8 | # You can use `rake secret` to generate a secure secret key.
9 |
10 | # Make sure the secrets in this file are kept private
11 | # if you're sharing your code publicly.
12 |
13 | development:
14 | secret_key_base: 34307c50fdd6c403ee1d1edd39ce697e2236b61c63755ec41aa00454f65e2924d91a93f15fc8279a266c58d3680f3b4ba8c16ded2a243d5abcd0a18f422b9de3
15 |
16 | test:
17 | secret_key_base: 6e5a1446312ed2a638b5210102c3ce0ed83ca9200fc95995eca6f9adc509d2432099bbe90201248a274f42c790f5d3aecdd35a8a508f364407da1ce5b1852823
18 |
19 | # Do not keep production secrets in the repository,
20 | # instead read values from the environment.
21 | production:
22 | secret_key_base: 34307c50fdd6c403ee1d1edd39ce697e2236b61c63755ec41aa00454f65e2924d91a93f15fc8279a266c58d3680f3b4ba8c16ded2a243d5abcd0a18f422b9de3
23 |
--------------------------------------------------------------------------------
/config/unicorn.rb:
--------------------------------------------------------------------------------
1 | if ENV["RAILS_ENV"] == "development"
2 | worker_processes 1
3 | else
4 | worker_processes 4
5 | end
6 |
7 | timeout 30
--------------------------------------------------------------------------------
/db/migrate/20130114233033_create_words.rb:
--------------------------------------------------------------------------------
1 | class CreateWords < ActiveRecord::Migration
2 | def up
3 | execute <<-DDL
4 | create table words(
5 | id serial primary key,
6 | text varchar not null,
7 | pronunciation varchar not null,
8 | string_padding_1 varchar not null default 'Lorem ipsum dolor sit amet',
9 | string_padding_2 varchar not null default 'consectetur adipisicing elit',
10 | integer_padding_1 integer not null default 0,
11 | integer_padding_2 integer not null default 0,
12 | date_padding_1 date not null default '2013-01-01',
13 | date_padding_2 date not null default '2013-01-01',
14 | created_at timestamptz not null default current_timestamp,
15 | updated_at timestamptz not null default current_timestamp
16 | );
17 |
18 | create unique index on words (text varchar_pattern_ops);
19 | DDL
20 | end
21 |
22 | def down
23 | execute 'drop table words;'
24 | end
25 | end
26 |
--------------------------------------------------------------------------------
/db/migrate/20130114233931_create_definitions.rb:
--------------------------------------------------------------------------------
1 | class CreateDefinitions < ActiveRecord::Migration
2 | def up
3 | execute <<-DDL
4 | create table definitions(
5 | id serial primary key,
6 | word_id integer not null references words,
7 | position integer not null,
8 | part_of_speech varchar not null,
9 | body varchar not null,
10 | string_padding_1 varchar not null default 'Lorem ipsum dolor sit amet',
11 | string_padding_2 varchar not null default 'consectetur adipisicing elit',
12 | integer_padding_1 integer not null default 0,
13 | integer_padding_2 integer not null default 0,
14 | date_padding_1 date not null default '2013-01-01',
15 | date_padding_2 date not null default '2013-01-01',
16 | created_at timestamptz not null default current_timestamp,
17 | updated_at timestamptz not null default current_timestamp
18 | );
19 |
20 | create unique index on definitions (word_id, position)
21 | DDL
22 | end
23 |
24 | def down
25 | execute 'drop table definitions;'
26 | end
27 | end
28 |
--------------------------------------------------------------------------------
/db/migrate/20130114234642_create_quotes.rb:
--------------------------------------------------------------------------------
1 | class CreateQuotes < ActiveRecord::Migration
2 | def up
3 | execute <<-DDL
4 | create table quotes(
5 | id serial primary key,
6 | word_id integer not null references words,
7 | body varchar not null,
8 | source varchar not null,
9 | string_padding_1 varchar not null default 'Lorem ipsum dolor sit amet',
10 | string_padding_2 varchar not null default 'consectetur adipisicing elit',
11 | integer_padding_1 integer not null default 0,
12 | integer_padding_2 integer not null default 0,
13 | date_padding_1 date not null default '2013-01-01',
14 | date_padding_2 date not null default '2013-01-01',
15 | created_at timestamptz not null default current_timestamp,
16 | updated_at timestamptz not null default current_timestamp
17 | );
18 |
19 | create index on quotes (word_id)
20 | DDL
21 | end
22 |
23 | def down
24 | execute 'drop table quotes;'
25 | end
26 | end
27 |
--------------------------------------------------------------------------------
/db/migrate/20130114235036_create_word_relationships.rb:
--------------------------------------------------------------------------------
1 | class CreateWordRelationships < ActiveRecord::Migration
2 | def up
3 | execute <<-DDL
4 | create table word_relationships(
5 | id serial primary key,
6 | relationship varchar not null,
7 | source_id integer not null references words,
8 | destination_id integer not null references words
9 | );
10 |
11 | create unique index on word_relationships (source_id, destination_id);
12 | DDL
13 | end
14 |
15 | def down
16 | execute 'drop table word_relationships'
17 | end
18 | end
19 |
--------------------------------------------------------------------------------
/db/seeds.rb:
--------------------------------------------------------------------------------
1 | # This file should contain all the record creation needed to seed the database with its default values.
2 | # The data can then be loaded with the rake db:seed (or created alongside the db with db:setup).
3 | #
4 | # Examples:
5 | #
6 | # cities = City.create([{ name: 'Chicago' }, { name: 'Copenhagen' }])
7 | # Mayor.create(name: 'Emanuel', city: cities.first)
8 |
--------------------------------------------------------------------------------
/db/structure.sql:
--------------------------------------------------------------------------------
1 | --
2 | -- PostgreSQL database dump
3 | --
4 |
5 | SET statement_timeout = 0;
6 | SET lock_timeout = 0;
7 | SET client_encoding = 'UTF8';
8 | SET standard_conforming_strings = on;
9 | SET check_function_bodies = false;
10 | SET client_min_messages = warning;
11 |
12 | --
13 | -- Name: plpgsql; Type: EXTENSION; Schema: -; Owner: -
14 | --
15 |
16 | CREATE EXTENSION IF NOT EXISTS plpgsql WITH SCHEMA pg_catalog;
17 |
18 |
19 | --
20 | -- Name: EXTENSION plpgsql; Type: COMMENT; Schema: -; Owner: -
21 | --
22 |
23 | COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language';
24 |
25 |
26 | SET search_path = public, pg_catalog;
27 |
28 | SET default_tablespace = '';
29 |
30 | SET default_with_oids = false;
31 |
32 | --
33 | -- Name: definitions; Type: TABLE; Schema: public; Owner: -; Tablespace:
34 | --
35 |
36 | CREATE TABLE definitions (
37 | id integer NOT NULL,
38 | word_id integer NOT NULL,
39 | "position" integer NOT NULL,
40 | part_of_speech character varying NOT NULL,
41 | body character varying NOT NULL,
42 | string_padding_1 character varying DEFAULT 'Lorem ipsum dolor sit amet'::character varying NOT NULL,
43 | string_padding_2 character varying DEFAULT 'consectetur adipisicing elit'::character varying NOT NULL,
44 | integer_padding_1 integer DEFAULT 0 NOT NULL,
45 | integer_padding_2 integer DEFAULT 0 NOT NULL,
46 | date_padding_1 date DEFAULT '2013-01-01'::date NOT NULL,
47 | date_padding_2 date DEFAULT '2013-01-01'::date NOT NULL,
48 | created_at timestamp with time zone DEFAULT now() NOT NULL,
49 | updated_at timestamp with time zone DEFAULT now() NOT NULL
50 | );
51 |
52 |
53 | --
54 | -- Name: definitions_id_seq; Type: SEQUENCE; Schema: public; Owner: -
55 | --
56 |
57 | CREATE SEQUENCE definitions_id_seq
58 | START WITH 1
59 | INCREMENT BY 1
60 | NO MINVALUE
61 | NO MAXVALUE
62 | CACHE 1;
63 |
64 |
65 | --
66 | -- Name: definitions_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
67 | --
68 |
69 | ALTER SEQUENCE definitions_id_seq OWNED BY definitions.id;
70 |
71 |
72 | --
73 | -- Name: quotes; Type: TABLE; Schema: public; Owner: -; Tablespace:
74 | --
75 |
76 | CREATE TABLE quotes (
77 | id integer NOT NULL,
78 | word_id integer NOT NULL,
79 | body character varying NOT NULL,
80 | source character varying NOT NULL,
81 | string_padding_1 character varying DEFAULT 'Lorem ipsum dolor sit amet'::character varying NOT NULL,
82 | string_padding_2 character varying DEFAULT 'consectetur adipisicing elit'::character varying NOT NULL,
83 | integer_padding_1 integer DEFAULT 0 NOT NULL,
84 | integer_padding_2 integer DEFAULT 0 NOT NULL,
85 | date_padding_1 date DEFAULT '2013-01-01'::date NOT NULL,
86 | date_padding_2 date DEFAULT '2013-01-01'::date NOT NULL,
87 | created_at timestamp with time zone DEFAULT now() NOT NULL,
88 | updated_at timestamp with time zone DEFAULT now() NOT NULL
89 | );
90 |
91 |
92 | --
93 | -- Name: quotes_id_seq; Type: SEQUENCE; Schema: public; Owner: -
94 | --
95 |
96 | CREATE SEQUENCE quotes_id_seq
97 | START WITH 1
98 | INCREMENT BY 1
99 | NO MINVALUE
100 | NO MAXVALUE
101 | CACHE 1;
102 |
103 |
104 | --
105 | -- Name: quotes_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
106 | --
107 |
108 | ALTER SEQUENCE quotes_id_seq OWNED BY quotes.id;
109 |
110 |
111 | --
112 | -- Name: schema_migrations; Type: TABLE; Schema: public; Owner: -; Tablespace:
113 | --
114 |
115 | CREATE TABLE schema_migrations (
116 | version character varying(255) NOT NULL
117 | );
118 |
119 |
120 | --
121 | -- Name: word_relationships; Type: TABLE; Schema: public; Owner: -; Tablespace:
122 | --
123 |
124 | CREATE TABLE word_relationships (
125 | id integer NOT NULL,
126 | relationship character varying NOT NULL,
127 | source_id integer NOT NULL,
128 | destination_id integer NOT NULL
129 | );
130 |
131 |
132 | --
133 | -- Name: word_relationships_id_seq; Type: SEQUENCE; Schema: public; Owner: -
134 | --
135 |
136 | CREATE SEQUENCE word_relationships_id_seq
137 | START WITH 1
138 | INCREMENT BY 1
139 | NO MINVALUE
140 | NO MAXVALUE
141 | CACHE 1;
142 |
143 |
144 | --
145 | -- Name: word_relationships_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
146 | --
147 |
148 | ALTER SEQUENCE word_relationships_id_seq OWNED BY word_relationships.id;
149 |
150 |
151 | --
152 | -- Name: words; Type: TABLE; Schema: public; Owner: -; Tablespace:
153 | --
154 |
155 | CREATE TABLE words (
156 | id integer NOT NULL,
157 | text character varying NOT NULL,
158 | pronunciation character varying NOT NULL,
159 | string_padding_1 character varying DEFAULT 'Lorem ipsum dolor sit amet'::character varying NOT NULL,
160 | string_padding_2 character varying DEFAULT 'consectetur adipisicing elit'::character varying NOT NULL,
161 | integer_padding_1 integer DEFAULT 0 NOT NULL,
162 | integer_padding_2 integer DEFAULT 0 NOT NULL,
163 | date_padding_1 date DEFAULT '2013-01-01'::date NOT NULL,
164 | date_padding_2 date DEFAULT '2013-01-01'::date NOT NULL,
165 | created_at timestamp with time zone DEFAULT now() NOT NULL,
166 | updated_at timestamp with time zone DEFAULT now() NOT NULL
167 | );
168 |
169 |
170 | --
171 | -- Name: words_id_seq; Type: SEQUENCE; Schema: public; Owner: -
172 | --
173 |
174 | CREATE SEQUENCE words_id_seq
175 | START WITH 1
176 | INCREMENT BY 1
177 | NO MINVALUE
178 | NO MAXVALUE
179 | CACHE 1;
180 |
181 |
182 | --
183 | -- Name: words_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
184 | --
185 |
186 | ALTER SEQUENCE words_id_seq OWNED BY words.id;
187 |
188 |
189 | --
190 | -- Name: id; Type: DEFAULT; Schema: public; Owner: -
191 | --
192 |
193 | ALTER TABLE ONLY definitions ALTER COLUMN id SET DEFAULT nextval('definitions_id_seq'::regclass);
194 |
195 |
196 | --
197 | -- Name: id; Type: DEFAULT; Schema: public; Owner: -
198 | --
199 |
200 | ALTER TABLE ONLY quotes ALTER COLUMN id SET DEFAULT nextval('quotes_id_seq'::regclass);
201 |
202 |
203 | --
204 | -- Name: id; Type: DEFAULT; Schema: public; Owner: -
205 | --
206 |
207 | ALTER TABLE ONLY word_relationships ALTER COLUMN id SET DEFAULT nextval('word_relationships_id_seq'::regclass);
208 |
209 |
210 | --
211 | -- Name: id; Type: DEFAULT; Schema: public; Owner: -
212 | --
213 |
214 | ALTER TABLE ONLY words ALTER COLUMN id SET DEFAULT nextval('words_id_seq'::regclass);
215 |
216 |
217 | --
218 | -- Name: definitions_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
219 | --
220 |
221 | ALTER TABLE ONLY definitions
222 | ADD CONSTRAINT definitions_pkey PRIMARY KEY (id);
223 |
224 |
225 | --
226 | -- Name: quotes_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
227 | --
228 |
229 | ALTER TABLE ONLY quotes
230 | ADD CONSTRAINT quotes_pkey PRIMARY KEY (id);
231 |
232 |
233 | --
234 | -- Name: word_relationships_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
235 | --
236 |
237 | ALTER TABLE ONLY word_relationships
238 | ADD CONSTRAINT word_relationships_pkey PRIMARY KEY (id);
239 |
240 |
241 | --
242 | -- Name: words_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
243 | --
244 |
245 | ALTER TABLE ONLY words
246 | ADD CONSTRAINT words_pkey PRIMARY KEY (id);
247 |
248 |
249 | --
250 | -- Name: definitions_word_id_position_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
251 | --
252 |
253 | CREATE UNIQUE INDEX definitions_word_id_position_idx ON definitions USING btree (word_id, "position");
254 |
255 |
256 | --
257 | -- Name: quotes_word_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
258 | --
259 |
260 | CREATE INDEX quotes_word_id_idx ON quotes USING btree (word_id);
261 |
262 |
263 | --
264 | -- Name: unique_schema_migrations; Type: INDEX; Schema: public; Owner: -; Tablespace:
265 | --
266 |
267 | CREATE UNIQUE INDEX unique_schema_migrations ON schema_migrations USING btree (version);
268 |
269 |
270 | --
271 | -- Name: word_relationships_source_id_destination_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
272 | --
273 |
274 | CREATE UNIQUE INDEX word_relationships_source_id_destination_id_idx ON word_relationships USING btree (source_id, destination_id);
275 |
276 |
277 | --
278 | -- Name: words_text_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
279 | --
280 |
281 | CREATE UNIQUE INDEX words_text_idx ON words USING btree (text varchar_pattern_ops);
282 |
283 |
284 | --
285 | -- Name: definitions_word_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
286 | --
287 |
288 | ALTER TABLE ONLY definitions
289 | ADD CONSTRAINT definitions_word_id_fkey FOREIGN KEY (word_id) REFERENCES words(id);
290 |
291 |
292 | --
293 | -- Name: quotes_word_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
294 | --
295 |
296 | ALTER TABLE ONLY quotes
297 | ADD CONSTRAINT quotes_word_id_fkey FOREIGN KEY (word_id) REFERENCES words(id);
298 |
299 |
300 | --
301 | -- Name: word_relationships_destination_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
302 | --
303 |
304 | ALTER TABLE ONLY word_relationships
305 | ADD CONSTRAINT word_relationships_destination_id_fkey FOREIGN KEY (destination_id) REFERENCES words(id);
306 |
307 |
308 | --
309 | -- Name: word_relationships_source_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
310 | --
311 |
312 | ALTER TABLE ONLY word_relationships
313 | ADD CONSTRAINT word_relationships_source_id_fkey FOREIGN KEY (source_id) REFERENCES words(id);
314 |
315 |
316 | --
317 | -- PostgreSQL database dump complete
318 | --
319 |
320 | SET search_path TO "$user",public;
321 |
322 | INSERT INTO schema_migrations (version) VALUES ('20130114233033');
323 |
324 | INSERT INTO schema_migrations (version) VALUES ('20130114233931');
325 |
326 | INSERT INTO schema_migrations (version) VALUES ('20130114234642');
327 |
328 | INSERT INTO schema_migrations (version) VALUES ('20130114235036');
329 |
330 |
--------------------------------------------------------------------------------
/lib/assets/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jackc/json_api_bench/8482a2fd95bb15aee649a5b7887e4943e6d8a3a1/lib/assets/.keep
--------------------------------------------------------------------------------
/lib/tasks/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jackc/json_api_bench/8482a2fd95bb15aee649a5b7887e4943e6d8a3a1/lib/tasks/.keep
--------------------------------------------------------------------------------
/lib/tasks/benchmark_run.rake:
--------------------------------------------------------------------------------
1 | namespace :benchmark do
2 | desc 'Run benchmark - server must already be running'
3 | task :run do
4 | site = 'http://localhost:8080/'
5 | benchmarks = [
6 | 'Quick Search Domain',
7 | 'Quick Search Pluck',
8 | 'Quick Search PostgreSQL',
9 | 'Rich Search Domain',
10 | 'Rich Search Select All',
11 | 'Rich Search PostgreSQL',
12 | 'Definition Domain',
13 | 'Definition PostgreSQL',
14 | 'Many Definitions Domain',
15 | 'Many Definitions PostgreSQL'
16 | ]
17 |
18 | results = benchmarks.map do |b|
19 | underscore_name = b.downcase.gsub(' ', '_')
20 | siege_script_file = "benchmark/#{underscore_name}_urls.txt"
21 | siege_results_file = "tmp/#{underscore_name}_results.txt"
22 | `siege --concurrent=4 --internet --benchmark --reps 200 --file=#{siege_script_file} 2> #{siege_results_file}`
23 | File.read(siege_results_file) =~ /^Transaction rate:\s+([0-9.]+)/
24 | { name: b, rate: $1 }
25 | end
26 |
27 | table = Terminal::Table.new :headings => ['Name', 'Reqs/Sec'], :rows => results.map { |r| [r[:name], r[:rate]] }
28 | puts table
29 | end
30 | end
--------------------------------------------------------------------------------
/lib/tasks/benchmark_setup.rake:
--------------------------------------------------------------------------------
1 | namespace :benchmark do
2 | desc 'Load benchmark data'
3 | task setup: :environment do
4 | WordRelationship.delete_all
5 | Quote.delete_all
6 | Definition.delete_all
7 | Word.delete_all
8 |
9 | srand(0)
10 |
11 | parts_of_speech = %w[noun verb adjective adverb preposition conjunction]
12 | dictionary_words = Rails.root.join('benchmark/words.txt').readlines.map &:chomp
13 |
14 | build_definition = lambda do |word, position|
15 | Definition.create! word: word,
16 | position: position,
17 | part_of_speech: parts_of_speech.sample,
18 | body: dictionary_words.sample(rand(2..20)).join(' ')
19 | end
20 |
21 | build_quote = lambda do |word|
22 | Quote.create! word: word,
23 | body: dictionary_words.sample(rand(5..30)).join(' '),
24 | source: dictionary_words.sample(3).join(' ')
25 | end
26 |
27 | Word.transaction do
28 | dictionary_words.each do |word_string|
29 | word = Word.create! text: word_string,
30 | pronunciation: word_string
31 |
32 | rand(1..15).times { |n| build_definition.call word, n }
33 | rand(0..5).times { |n| build_quote.call word }
34 | end
35 | end
36 |
37 | word_ids = Word.pluck :id
38 | relationships = %w[synonym antonym]
39 |
40 | Word.connection.execute 'drop index if exists word_relationships_source_id_destination_id_idx;'
41 | word_ids.in_groups_of(1000, false).each do |word_id_group|
42 | Word.transaction do
43 | word_id_group.each do |word_id|
44 | word_ids.sample(rand(1..10)).each do |other_word_id|
45 | relationship = relationships.sample
46 | WordRelationship.create! relationship: relationship,
47 | source_id: word_id,
48 | destination_id: other_word_id
49 |
50 | WordRelationship.create! relationship: relationship,
51 | source_id: other_word_id,
52 | destination_id: word_id
53 | end
54 | end
55 | end
56 | end
57 |
58 | Word.connection.execute <<-SQL
59 | with t as (
60 | select source_id, destination_id
61 | from word_relationships
62 | group by source_id, destination_id
63 | having count(*) > 1
64 | )
65 | delete from word_relationships
66 | using t
67 | where word_relationships.source_id = t.source_id
68 | and word_relationships.destination_id = t.destination_id
69 | SQL
70 |
71 | Word.connection.execute 'create unique index on word_relationships (source_id, destination_id);'
72 | end
73 | end
--------------------------------------------------------------------------------
/log/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jackc/json_api_bench/8482a2fd95bb15aee649a5b7887e4943e6d8a3a1/log/.keep
--------------------------------------------------------------------------------
/public/404.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | The page you were looking for doesn't exist (404)
5 |
6 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
The page you were looking for doesn't exist.
62 |
You may have mistyped the address or the page may have moved.
63 |
64 |
If you are the application owner check the logs for more information.
65 |
66 |
67 |
68 |
--------------------------------------------------------------------------------
/public/422.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | The change you wanted was rejected (422)
5 |
6 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
The change you wanted was rejected.
62 |
Maybe you tried to change something you didn't have access to.
63 |
64 |
If you are the application owner check the logs for more information.
65 |
66 |
67 |
68 |
--------------------------------------------------------------------------------
/public/500.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | We're sorry, but something went wrong (500)
5 |
6 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
We're sorry, but something went wrong.
62 |
63 |
If you are the application owner check the logs for more information.
64 |
65 |
66 |
67 |
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jackc/json_api_bench/8482a2fd95bb15aee649a5b7887e4943e6d8a3a1/public/favicon.ico
--------------------------------------------------------------------------------
/public/robots.txt:
--------------------------------------------------------------------------------
1 | # See http://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file
2 | #
3 | # To ban all spiders from the entire site uncomment the next two lines:
4 | # User-agent: *
5 | # Disallow: /
6 |
--------------------------------------------------------------------------------
/readme.markdown:
--------------------------------------------------------------------------------
1 | # JSON API Benchmark
2 |
3 | This application is a sample benchmark for various approaches to generating JSON API responses. It was written to accompany [this post](http://blog.hashrocket.com/posts/faster-json-generation-with-postgresql) about PostgreSQL JSON generation on the [Hashrocket blog](http://blog.hashrocket.com/). It exercises the entire application stack instead of just JSON generation so that the timing can be viewed in the context of the entire application. It uses unicorn with 4 worker processes. It typically tests three approaches:
4 |
5 | * Standard Rails - to_json on model objects
6 | * Optimized Rails - pluck and select_all
7 | * PostgreSQL - row_to_json and array_to_json
8 |
9 | The sample domain is a simple dictionary. The entities involved are words, definitions, quotes, and related words.
10 |
11 | # Requirements
12 |
13 | PostgreSQL, siege
14 |
15 | # Scenarios
16 |
17 | * Concise auto-complete word search - Returns first 10 words matching search term. This scenario is an example of a very simple, feather weight API call that returns only an array of 10 strings.
18 | * Rich auto-complete word search - Returns first 10 words matching search term with text, pronunciation, part of speech, and first definition. This is a light weight example that involves two entity types.
19 | * Word definition - Shows the definitions, quotes, and related words for the specified word. This is a middle weight example.
20 | * Many word definitions - Shows the definitions, quotes, and related words for many words at a time. This is representative of a heavy weight JSON API.
21 |
22 | # Running the Benchmarks
23 |
24 | Bundle dependencies:
25 |
26 | bundle install
27 |
28 | To setup the test data run the following rake tasks:
29 |
30 | rake db:create db:migrate benchmark:setup
31 |
32 | Start the server:
33 |
34 | RAILS_ENV=production unicorn -c config/unicorn.rb
35 |
36 | Run the benchmark rake task:
37 |
38 | rake benchmark:run
39 |
--------------------------------------------------------------------------------
/vendor/assets/javascripts/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jackc/json_api_bench/8482a2fd95bb15aee649a5b7887e4943e6d8a3a1/vendor/assets/javascripts/.keep
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jackc/json_api_bench/8482a2fd95bb15aee649a5b7887e4943e6d8a3a1/vendor/assets/stylesheets/.keep
--------------------------------------------------------------------------------