ultrasphinx 1.9 → 1.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (111) hide show
  1. data.tar.gz.sig +0 -0
  2. data/CHANGELOG +6 -0
  3. data/DEPLOYMENT_NOTES +3 -1
  4. data/Manifest +10 -2
  5. data/RAKE_TASKS +2 -1
  6. data/README +6 -6
  7. data/Rakefile +27 -0
  8. data/examples/default.base +7 -2
  9. data/init.rb +1 -0
  10. data/lib/ultrasphinx/autoload.rb +0 -1
  11. data/lib/ultrasphinx/configure.rb +64 -36
  12. data/lib/ultrasphinx/core_extensions.rb +17 -2
  13. data/lib/ultrasphinx/fields.rb +33 -13
  14. data/lib/ultrasphinx/is_indexed.rb +32 -14
  15. data/lib/ultrasphinx/postgresql/concat_ws.sql +3 -3
  16. data/lib/ultrasphinx/postgresql/crc32.sql +1 -1
  17. data/lib/ultrasphinx/postgresql/group_concat.sql +1 -3
  18. data/lib/ultrasphinx/postgresql/hex_to_int.sql +1 -1
  19. data/lib/ultrasphinx/postgresql/unix_timestamp.sql +1 -1
  20. data/lib/ultrasphinx/search.rb +56 -6
  21. data/lib/ultrasphinx/search/internals.rb +88 -23
  22. data/lib/ultrasphinx/search/parser.rb +16 -2
  23. data/lib/ultrasphinx/spell.rb +2 -1
  24. data/lib/ultrasphinx/ultrasphinx.rb +43 -49
  25. data/tasks/ultrasphinx.rake +56 -16
  26. data/test/config/ultrasphinx/test.base +7 -2
  27. data/test/integration/app/app/controllers/addresses_controller.rb +9 -9
  28. data/test/integration/app/app/controllers/states_controller.rb +9 -9
  29. data/test/integration/app/app/models/category.rb +5 -0
  30. data/test/integration/app/app/models/geo/address.rb +1 -1
  31. data/test/integration/app/app/models/seller.rb +3 -3
  32. data/test/integration/app/app/views/addresses/edit.html.erb +2 -2
  33. data/test/integration/app/app/views/addresses/index.html.erb +2 -2
  34. data/test/integration/app/app/views/addresses/new.html.erb +1 -1
  35. data/test/integration/app/app/views/states/edit.html.erb +2 -2
  36. data/test/integration/app/app/views/states/index.html.erb +2 -2
  37. data/test/integration/app/app/views/states/new.html.erb +1 -1
  38. data/test/integration/app/app/views/users/index.html.erb +3 -3
  39. data/test/integration/app/config/environment.rb +1 -0
  40. data/test/integration/app/config/ultrasphinx/default.base +2 -2
  41. data/test/integration/app/config/ultrasphinx/development.conf.canonical +74 -50
  42. data/test/integration/app/db/migrate/007_add_lat_and_long_to_address.rb +3 -3
  43. data/test/integration/app/db/migrate/010_create_categories.rb +14 -0
  44. data/test/integration/app/db/migrate/011_categories_sellers.rb +15 -0
  45. data/test/integration/app/public/dispatch.cgi +0 -0
  46. data/test/integration/app/public/dispatch.fcgi +0 -0
  47. data/test/integration/app/public/dispatch.rb +0 -0
  48. data/test/integration/app/script/about +0 -0
  49. data/test/integration/app/script/breakpointer +0 -0
  50. data/test/integration/app/script/console +0 -0
  51. data/test/integration/app/script/destroy +0 -0
  52. data/test/integration/app/script/generate +0 -0
  53. data/test/integration/app/script/performance/benchmarker +0 -0
  54. data/test/integration/app/script/performance/profiler +0 -0
  55. data/test/integration/app/script/plugin +0 -0
  56. data/test/integration/app/script/process/inspector +0 -0
  57. data/test/integration/app/script/process/reaper +0 -0
  58. data/test/integration/app/script/process/spawner +0 -0
  59. data/test/integration/app/script/runner +0 -0
  60. data/test/integration/app/script/server +0 -0
  61. data/test/integration/app/test/fixtures/addresses.yml +77 -6
  62. data/test/integration/app/test/fixtures/categories.yml +101 -0
  63. data/test/integration/app/test/fixtures/categories_sellers.yml +29 -0
  64. data/test/integration/app/test/functional/addresses_controller_test.rb +9 -4
  65. data/test/integration/app/test/functional/sellers_controller_test.rb +9 -2
  66. data/test/integration/app/test/functional/states_controller_test.rb +10 -4
  67. data/test/integration/app/test/functional/users_controller_test.rb +7 -2
  68. data/test/integration/app/test/unit/address_test.rb +1 -1
  69. data/test/integration/app/test/unit/category_test.rb +8 -0
  70. data/test/integration/app/test/unit/country_test.rb +1 -1
  71. data/test/integration/app/test/unit/state_test.rb +1 -1
  72. data/test/integration/app/test/unit/user_test.rb +1 -1
  73. data/test/integration/delta_test.rb +13 -0
  74. data/test/integration/search_test.rb +80 -8
  75. data/test/profile/benchmark.rb +0 -0
  76. data/test/setup.rb +25 -7
  77. data/test/teardown.rb +13 -0
  78. data/test/test_helper.rb +3 -3
  79. data/ultrasphinx.gemspec +22 -43
  80. data/vendor/riddle/README +18 -4
  81. data/vendor/riddle/Rakefile +1 -0
  82. data/vendor/riddle/lib/riddle.rb +11 -5
  83. data/vendor/riddle/lib/riddle/client.rb +65 -20
  84. data/vendor/riddle/lib/riddle/client/response.rb +10 -0
  85. data/vendor/riddle/spec/fixtures/data/anchor.bin +0 -0
  86. data/vendor/riddle/spec/fixtures/data/any.bin +0 -0
  87. data/vendor/riddle/spec/fixtures/data/boolean.bin +0 -0
  88. data/vendor/riddle/spec/fixtures/data/comment.bin +0 -0
  89. data/vendor/riddle/spec/fixtures/data/distinct.bin +0 -0
  90. data/vendor/riddle/spec/fixtures/data/field_weights.bin +0 -0
  91. data/vendor/riddle/spec/fixtures/data/filter.bin +0 -0
  92. data/vendor/riddle/spec/fixtures/data/group.bin +0 -0
  93. data/vendor/riddle/spec/fixtures/data/index.bin +0 -0
  94. data/vendor/riddle/spec/fixtures/data/index_weights.bin +0 -0
  95. data/vendor/riddle/spec/fixtures/data/keywords_with_hits.bin +0 -0
  96. data/vendor/riddle/spec/fixtures/data/keywords_without_hits.bin +0 -0
  97. data/vendor/riddle/spec/fixtures/data/phrase.bin +0 -0
  98. data/vendor/riddle/spec/fixtures/data/rank_mode.bin +0 -0
  99. data/vendor/riddle/spec/fixtures/data/simple.bin +0 -0
  100. data/vendor/riddle/spec/fixtures/data/sort.bin +0 -0
  101. data/vendor/riddle/spec/fixtures/data/weights.bin +0 -0
  102. data/vendor/riddle/spec/fixtures/data_generator.php +15 -0
  103. data/vendor/riddle/spec/fixtures/sphinx/configuration.erb +4 -4
  104. data/vendor/riddle/spec/fixtures/sphinxapi.php +118 -7
  105. data/vendor/riddle/spec/functional/keywords_spec.rb +40 -0
  106. data/vendor/riddle/spec/spec_helper.rb +1 -0
  107. data/vendor/riddle/spec/unit/client_spec.rb +26 -0
  108. metadata +38 -11
  109. metadata.gz.sig +0 -0
  110. data/test/integration/app/config/ultrasphinx/development.conf +0 -319
  111. data/test/integration/app/db/schema.rb +0 -56
@@ -34,7 +34,7 @@ searchd
34
34
  {
35
35
  # What interface the search daemon should listen on and where to store its logs
36
36
  address = 0.0.0.0
37
- port = 3312
37
+ port = 3313
38
38
  seamless_rotate = 1
39
39
  log = <%= path %>log/searchd.log
40
40
  query_log = <%= path %>log/query.log
@@ -52,7 +52,7 @@ client
52
52
 
53
53
  # How your application connects to the search daemon (not necessarily the same as above)
54
54
  server_host = localhost
55
- server_port = 3312
55
+ server_port = 3313
56
56
  }
57
57
 
58
58
  # Individual SQL source options
@@ -79,6 +79,11 @@ index
79
79
  # Enable these if you need wildcard searching. They will slow down indexing significantly.
80
80
  # min_infix_len = 1
81
81
  # enable_star = 1
82
+
83
+ # # URL search options
84
+ # # add " @, /, :," before " a-z," in the charset_table and uncomment prefix_fields
85
+ # to seach URL and email addresses
86
+ # prefix_fields = url, domain
82
87
 
83
88
  charset_type = utf-8 # or sbcs (Single Byte Character Set)
84
89
  charset_table = 0..9, A..Z->a..z, -, _, ., &, a..z, U+410..U+42F->U+430..U+44F, U+430..U+44F,U+C5->U+E5, U+E5, U+C4->U+E4, U+E4, U+D6->U+F6, U+F6, U+16B, U+0c1->a, U+0c4->a, U+0c9->e, U+0cd->i, U+0d3->o, U+0d4->o, U+0da->u, U+0dd->y, U+0e1->a, U+0e4->a, U+0e9->e, U+0ed->i, U+0f3->o, U+0f4->o, U+0fa->u, U+0fd->y, U+104->U+105, U+105, U+106->U+107, U+10c->c, U+10d->c, U+10e->d, U+10f->d, U+116->U+117, U+117, U+118->U+119, U+11a->e, U+11b->e, U+12E->U+12F, U+12F, U+139->l, U+13a->l, U+13d->l, U+13e->l, U+141->U+142, U+142, U+143->U+144, U+144,U+147->n, U+148->n, U+154->r, U+155->r, U+158->r, U+159->r, U+15A->U+15B, U+15B, U+160->s, U+160->U+161, U+161->s, U+164->t, U+165->t, U+16A->U+16B, U+16B, U+16e->u, U+16f->u, U+172->U+173, U+173, U+179->U+17A, U+17A, U+17B->U+17C, U+17C, U+17d->z, U+17e->z,
@@ -2,7 +2,7 @@ class AddressesController < ApplicationController
2
2
  # GET /addresses
3
3
  # GET /addresses.xml
4
4
  def index
5
- @addresses = Address.find(:all)
5
+ @addresses = Geo::Address.find(:all)
6
6
 
7
7
  respond_to do |format|
8
8
  format.html # index.html.erb
@@ -13,7 +13,7 @@ class AddressesController < ApplicationController
13
13
  # GET /addresses/1
14
14
  # GET /addresses/1.xml
15
15
  def show
16
- @address = Address.find(params[:id])
16
+ @address = Geo::Address.find(params[:id])
17
17
 
18
18
  respond_to do |format|
19
19
  format.html # show.html.erb
@@ -24,7 +24,7 @@ class AddressesController < ApplicationController
24
24
  # GET /addresses/new
25
25
  # GET /addresses/new.xml
26
26
  def new
27
- @address = Address.new
27
+ @address = Geo::Address.new
28
28
 
29
29
  respond_to do |format|
30
30
  format.html # new.html.erb
@@ -34,18 +34,18 @@ class AddressesController < ApplicationController
34
34
 
35
35
  # GET /addresses/1/edit
36
36
  def edit
37
- @address = Address.find(params[:id])
37
+ @address = Geo::Address.find(params[:id])
38
38
  end
39
39
 
40
40
  # POST /addresses
41
41
  # POST /addresses.xml
42
42
  def create
43
- @address = Address.new(params[:address])
43
+ @address = Geo::Address.new(params[:address])
44
44
 
45
45
  respond_to do |format|
46
46
  if @address.save
47
47
  flash[:notice] = 'Address was successfully created.'
48
- format.html { redirect_to(@address) }
48
+ format.html { redirect_to(address_path(@address)) }
49
49
  format.xml { render :xml => @address, :status => :created, :location => @address }
50
50
  else
51
51
  format.html { render :action => "new" }
@@ -57,12 +57,12 @@ class AddressesController < ApplicationController
57
57
  # PUT /addresses/1
58
58
  # PUT /addresses/1.xml
59
59
  def update
60
- @address = Address.find(params[:id])
60
+ @address = Geo::Address.find(params[:id])
61
61
 
62
62
  respond_to do |format|
63
63
  if @address.update_attributes(params[:address])
64
64
  flash[:notice] = 'Address was successfully updated.'
65
- format.html { redirect_to(@address) }
65
+ format.html { redirect_to(address_path(@address)) }
66
66
  format.xml { head :ok }
67
67
  else
68
68
  format.html { render :action => "edit" }
@@ -74,7 +74,7 @@ class AddressesController < ApplicationController
74
74
  # DELETE /addresses/1
75
75
  # DELETE /addresses/1.xml
76
76
  def destroy
77
- @address = Address.find(params[:id])
77
+ @address = Geo::Address.find(params[:id])
78
78
  @address.destroy
79
79
 
80
80
  respond_to do |format|
@@ -2,7 +2,7 @@ class StatesController < ApplicationController
2
2
  # GET /states
3
3
  # GET /states.xml
4
4
  def index
5
- @states = State.find(:all)
5
+ @states = Geo::State.find(:all)
6
6
 
7
7
  respond_to do |format|
8
8
  format.html # index.html.erb
@@ -13,7 +13,7 @@ class StatesController < ApplicationController
13
13
  # GET /states/1
14
14
  # GET /states/1.xml
15
15
  def show
16
- @state = State.find(params[:id])
16
+ @state = Geo::State.find(params[:id])
17
17
 
18
18
  respond_to do |format|
19
19
  format.html # show.html.erb
@@ -24,7 +24,7 @@ class StatesController < ApplicationController
24
24
  # GET /states/new
25
25
  # GET /states/new.xml
26
26
  def new
27
- @state = State.new
27
+ @state = Geo::State.new
28
28
 
29
29
  respond_to do |format|
30
30
  format.html # new.html.erb
@@ -34,18 +34,18 @@ class StatesController < ApplicationController
34
34
 
35
35
  # GET /states/1/edit
36
36
  def edit
37
- @state = State.find(params[:id])
37
+ @state = Geo::State.find(params[:id])
38
38
  end
39
39
 
40
40
  # POST /states
41
41
  # POST /states.xml
42
42
  def create
43
- @state = State.new(params[:state])
43
+ @state = Geo::State.new(params[:state])
44
44
 
45
45
  respond_to do |format|
46
46
  if @state.save
47
47
  flash[:notice] = 'State was successfully created.'
48
- format.html { redirect_to(@state) }
48
+ format.html { redirect_to(state_path(@state)) }
49
49
  format.xml { render :xml => @state, :status => :created, :location => @state }
50
50
  else
51
51
  format.html { render :action => "new" }
@@ -57,12 +57,12 @@ class StatesController < ApplicationController
57
57
  # PUT /states/1
58
58
  # PUT /states/1.xml
59
59
  def update
60
- @state = State.find(params[:id])
60
+ @state = Geo::State.find(params[:id])
61
61
 
62
62
  respond_to do |format|
63
63
  if @state.update_attributes(params[:state])
64
64
  flash[:notice] = 'State was successfully updated.'
65
- format.html { redirect_to(@state) }
65
+ format.html { redirect_to(state_path(@state)) }
66
66
  format.xml { head :ok }
67
67
  else
68
68
  format.html { render :action => "edit" }
@@ -74,7 +74,7 @@ class StatesController < ApplicationController
74
74
  # DELETE /states/1
75
75
  # DELETE /states/1.xml
76
76
  def destroy
77
- @state = State.find(params[:id])
77
+ @state = Geo::State.find(params[:id])
78
78
  @state.destroy
79
79
 
80
80
  respond_to do |format|
@@ -0,0 +1,5 @@
1
+ class Category < ActiveRecord::Base
2
+
3
+ has_and_belongs_to_many :sellers
4
+
5
+ end
@@ -2,7 +2,7 @@ class Geo::Address < ActiveRecord::Base
2
2
  belongs_to :user
3
3
  belongs_to :state, :class_name => 'Geo::State'
4
4
 
5
- is_indexed 'fields' => ['name'],
5
+ is_indexed 'fields' => ['name', {:field => 'lat', :function_sql => "RADIANS(?)"}, {:field => 'lng', :function_sql => "RADIANS(?)"}],
6
6
  'concatenate' => [{'fields' => ['line_1', 'line_2', 'city', 'province_region', 'zip_postal_code'], 'as' => 'content'}],
7
7
  'include' => [{'association_name' => 'state', 'field' => 'name', 'as' => 'state'}],
8
8
  'delta' => true
@@ -3,11 +3,11 @@ class Seller < ActiveRecord::Base
3
3
  delegate :address, :to => :user
4
4
 
5
5
  is_indexed :fields => [
6
- {:field => 'company_name', :facet => true},
6
+ {:field => :company_name, :facet => true, :sortable => true},
7
7
  {:field => 'mission_statement', :sortable => true},
8
8
  'created_at',
9
- 'capitalization',
10
- 'user_id'
9
+ :capitalization,
10
+ :user_id
11
11
  ],
12
12
  :delta => true
13
13
 
@@ -2,11 +2,11 @@
2
2
 
3
3
  <%= error_messages_for :address %>
4
4
 
5
- <% form_for(@address) do |f| %>
5
+ <% form_for @address, :url => address_path(@address) do |f| %>
6
6
  <p>
7
7
  <%= f.submit "Update" %>
8
8
  </p>
9
9
  <% end %>
10
10
 
11
- <%= link_to 'Show', @address %> |
11
+ <%= link_to 'Show', address_path(@address) %> |
12
12
  <%= link_to 'Back', addresses_path %>
@@ -6,9 +6,9 @@
6
6
 
7
7
  <% for address in @addresses %>
8
8
  <tr>
9
- <td><%= link_to 'Show', address %></td>
9
+ <td><%= link_to 'Show', address_path(address) %></td>
10
10
  <td><%= link_to 'Edit', edit_address_path(address) %></td>
11
- <td><%= link_to 'Destroy', address, :confirm => 'Are you sure?', :method => :delete %></td>
11
+ <td><%= link_to 'Destroy', address_path(address), :confirm => 'Are you sure?', :method => :delete %></td>
12
12
  </tr>
13
13
  <% end %>
14
14
  </table>
@@ -2,7 +2,7 @@
2
2
 
3
3
  <%= error_messages_for :address %>
4
4
 
5
- <% form_for(@address) do |f| %>
5
+ <% form_for @address, :url => address_path(@address) do |f| %>
6
6
  <p>
7
7
  <%= f.submit "Create" %>
8
8
  </p>
@@ -2,11 +2,11 @@
2
2
 
3
3
  <%= error_messages_for :state %>
4
4
 
5
- <% form_for(@state) do |f| %>
5
+ <% form_for @state, :url => state_path(@state) do |f| %>
6
6
  <p>
7
7
  <%= f.submit "Update" %>
8
8
  </p>
9
9
  <% end %>
10
10
 
11
- <%= link_to 'Show', @state %> |
11
+ <%= link_to 'Show', state_path(@state) %> |
12
12
  <%= link_to 'Back', states_path %>
@@ -7,9 +7,9 @@
7
7
  <% for state in @states %>
8
8
  <tr>
9
9
  <td><%= state.name %></td>
10
- <td><%= link_to 'Show', state %></td>
10
+ <td><%= link_to 'Show', state_path(state) %></td>
11
11
  <td><%= link_to 'Edit', edit_state_path(state) %></td>
12
- <td><%= link_to 'Destroy', state, :confirm => 'Are you sure?', :method => :delete %></td>
12
+ <td><%= link_to 'Destroy', state_path(state), :confirm => 'Are you sure?', :method => :delete %></td>
13
13
  </tr>
14
14
  <% end %>
15
15
  </table>
@@ -2,7 +2,7 @@
2
2
 
3
3
  <%= error_messages_for :state %>
4
4
 
5
- <% form_for(@state) do |f| %>
5
+ <% form_for @state, :url => state_path(@state) do |f| %>
6
6
  <p>
7
7
  <%= f.submit "Create" %>
8
8
  </p>
@@ -7,9 +7,9 @@
7
7
  <% for user in @users %>
8
8
  <tr>
9
9
  <td><%= h(user.login) %></td>
10
- <td><%= h(user.address.line_1) %></td>
11
- <td><%= h(user.address.city) %></td>
12
- <td><%= h(user.address.state.name) %></td>
10
+ <td><%= h(user.address.line_1) if user.address %></td>
11
+ <td><%= h(user.address.city) if user.address %></td>
12
+ <td><%= h(user.address.state.name) if user.address %></td>
13
13
  <td><%= link_to 'Show', user %></td>
14
14
  <td><%= link_to 'Edit', edit_user_path(user) %></td>
15
15
  <td><%= link_to 'Destroy', user, :confirm => 'Are you sure?', :method => :delete %></td>
@@ -11,5 +11,6 @@ Rails::Initializer.run do |config|
11
11
  end
12
12
 
13
13
  Ultrasphinx::Search.client_options["finder_methods"].unshift("custom_find")
14
+ Ultrasphinx::Search.query_defaults["location"]["units"] = "degrees"
14
15
 
15
16
  # Dependencies.log_activity = true
@@ -36,7 +36,7 @@ searchd
36
36
 
37
37
  # What interface the search daemon should listen on
38
38
  address = 0.0.0.0
39
- port = 3312
39
+ port = 3313
40
40
  seamless_rotate = 1
41
41
 
42
42
  # Where to to store the logs
@@ -55,7 +55,7 @@ client
55
55
  dictionary_name = <%= dictionary = 'ap' %>
56
56
  # How your application connects to the search daemon (not necessarily the same as above)
57
57
  server_host = localhost
58
- server_port = 3312
58
+ server_port = 3313
59
59
  }
60
60
 
61
61
  source
@@ -1,5 +1,5 @@
1
1
 
2
- # Auto-generated at Sat Mar 08 03:07:27 -0500 2008.
2
+ # Auto-generated at Mon Mar 31 02:37:26 -0400 2008.
3
3
  # Hand modifications will be overwritten.
4
4
  # /Users/eweaver/Desktop/projects/ub/vendor/plugins/ultrasphinx/test/integration/app/config/ultrasphinx/default.base
5
5
  indexer {
@@ -10,7 +10,7 @@ searchd {
10
10
  read_timeout = 5
11
11
  max_children = 300
12
12
  log = /tmp/sphinx/searchd.log
13
- port = 3312
13
+ port = 3313
14
14
  max_matches = 100000
15
15
  query_log = /tmp/sphinx/query.log
16
16
  seamless_rotate = 1
@@ -26,25 +26,28 @@ source geo__states_main
26
26
  sql_query_post =
27
27
  sql_ranged_throttle = 0
28
28
 
29
- type = mysql
30
- sql_query_pre = SET SESSION group_concat_max_len = 65535
31
- sql_query_pre = SET NAMES utf8
32
-
29
+ type = mysql
30
+ sql_query_pre = SET SESSION group_concat_max_len = 65535
31
+ sql_query_pre = SET NAMES utf8
32
+
33
33
  sql_db = ultrasphinx_development
34
34
  sql_host = localhost
35
35
  sql_pass =
36
36
  sql_user = root
37
37
  sql_query_range = SELECT MIN(id) , MAX(id) FROM states
38
- sql_query = SELECT (states.id * 5 + 0) AS id, CAST(GROUP_CONCAT(DISTINCT addresses.name SEPARATOR ' ') AS CHAR) AS address_name, 0 AS capitalization, 'Geo::State' AS class, 0 AS class_id, '' AS company, 0 AS company_facet, '' AS company_name, 0 AS company_name_facet, '' AS company_two, 0 AS company_two_facet, '' AS content, 18000 AS created_at, 0 AS deleted, '' AS email, '' AS login, '' AS mission_statement, '' AS name, '' AS state, 0 AS user_id FROM states LEFT OUTER JOIN addresses AS addresses ON states.id = addresses.state_id WHERE states.id >= $start AND states.id <= $end GROUP BY states.id
38
+ sql_query = SELECT (states.id * 5 + 0) AS id, CAST(GROUP_CONCAT(DISTINCT addresses.name SEPARATOR ' ') AS CHAR) AS address_name, 0 AS capitalization, 'Geo::State' AS class, 0 AS class_id, '' AS company, 0 AS company_facet, '' AS company_name, 0 AS company_name_facet, '' AS company_name_sortable, '' AS company_two, 0 AS company_two_facet, '' AS content, 18000 AS created_at, 0 AS deleted, '' AS email, 0 AS lat, 0 AS lng, '' AS login, '' AS mission_statement, '' AS mission_statement_sortable, '' AS name, '' AS state, 0 AS user_id FROM states LEFT OUTER JOIN addresses AS addresses ON states.id = addresses.state_id WHERE states.id >= $start AND states.id <= $end GROUP BY states.id
39
39
 
40
40
  sql_attr_float = capitalization
41
41
  sql_attr_uint = class_id
42
42
  sql_attr_uint = company_facet
43
43
  sql_attr_uint = company_name_facet
44
+ sql_attr_str2ordinal = company_name_sortable
44
45
  sql_attr_uint = company_two_facet
45
46
  sql_attr_timestamp = created_at
46
47
  sql_attr_bool = deleted
47
- sql_attr_str2ordinal = mission_statement
48
+ sql_attr_float = lat
49
+ sql_attr_float = lng
50
+ sql_attr_str2ordinal = mission_statement_sortable
48
51
  sql_attr_uint = user_id
49
52
  sql_query_info = SELECT * FROM states WHERE states.id = (($id - 0) / 5)
50
53
  }
@@ -58,25 +61,28 @@ source sellers_main
58
61
  sql_query_post =
59
62
  sql_ranged_throttle = 0
60
63
 
61
- type = mysql
62
- sql_query_pre = SET SESSION group_concat_max_len = 65535
63
- sql_query_pre = SET NAMES utf8
64
-
64
+ type = mysql
65
+ sql_query_pre = SET SESSION group_concat_max_len = 65535
66
+ sql_query_pre = SET NAMES utf8
67
+
65
68
  sql_db = ultrasphinx_development
66
69
  sql_host = localhost
67
70
  sql_pass =
68
71
  sql_user = root
69
72
  sql_query_range = SELECT MIN(id) , MAX(id) FROM sellers
70
- sql_query = SELECT (sellers.id * 5 + 1) AS id, '' AS address_name, sellers.capitalization AS capitalization, 'Seller' AS class, 1 AS class_id, '' AS company, 0 AS company_facet, sellers.company_name AS company_name, CAST(CRC32(sellers.company_name) AS unsigned) AS company_name_facet, '' AS company_two, 0 AS company_two_facet, '' AS content, UNIX_TIMESTAMP(sellers.created_at) AS created_at, 0 AS deleted, '' AS email, '' AS login, sellers.mission_statement AS mission_statement, '' AS name, '' AS state, sellers.user_id AS user_id FROM sellers WHERE sellers.id >= $start AND sellers.id <= $end GROUP BY sellers.id
73
+ sql_query = SELECT (sellers.id * 5 + 1) AS id, '' AS address_name, sellers.capitalization AS capitalization, 'Seller' AS class, 1 AS class_id, '' AS company, 0 AS company_facet, sellers.company_name AS company_name, CAST(CRC32(sellers.company_name) AS unsigned) AS company_name_facet, sellers.company_name AS company_name_sortable, '' AS company_two, 0 AS company_two_facet, '' AS content, UNIX_TIMESTAMP(sellers.created_at) AS created_at, 0 AS deleted, '' AS email, 0 AS lat, 0 AS lng, '' AS login, sellers.mission_statement AS mission_statement, sellers.mission_statement AS mission_statement_sortable, '' AS name, '' AS state, sellers.user_id AS user_id FROM sellers WHERE sellers.id >= $start AND sellers.id <= $end GROUP BY sellers.id
71
74
 
72
75
  sql_attr_float = capitalization
73
76
  sql_attr_uint = class_id
74
77
  sql_attr_uint = company_facet
75
78
  sql_attr_uint = company_name_facet
79
+ sql_attr_str2ordinal = company_name_sortable
76
80
  sql_attr_uint = company_two_facet
77
81
  sql_attr_timestamp = created_at
78
82
  sql_attr_bool = deleted
79
- sql_attr_str2ordinal = mission_statement
83
+ sql_attr_float = lat
84
+ sql_attr_float = lng
85
+ sql_attr_str2ordinal = mission_statement_sortable
80
86
  sql_attr_uint = user_id
81
87
  sql_query_info = SELECT * FROM sellers WHERE sellers.id = (($id - 1) / 5)
82
88
  }
@@ -90,25 +96,28 @@ source geo__addresses_main
90
96
  sql_query_post =
91
97
  sql_ranged_throttle = 0
92
98
 
93
- type = mysql
94
- sql_query_pre = SET SESSION group_concat_max_len = 65535
95
- sql_query_pre = SET NAMES utf8
96
-
99
+ type = mysql
100
+ sql_query_pre = SET SESSION group_concat_max_len = 65535
101
+ sql_query_pre = SET NAMES utf8
102
+
97
103
  sql_db = ultrasphinx_development
98
104
  sql_host = localhost
99
105
  sql_pass =
100
106
  sql_user = root
101
107
  sql_query_range = SELECT MIN(id) , MAX(id) FROM addresses
102
- sql_query = SELECT (addresses.id * 5 + 2) AS id, '' AS address_name, 0 AS capitalization, 'Geo::Address' AS class, 2 AS class_id, '' AS company, 0 AS company_facet, '' AS company_name, 0 AS company_name_facet, '' AS company_two, 0 AS company_two_facet, CONCAT_WS(' ', addresses.line_1, addresses.line_2, addresses.city, addresses.province_region, addresses.zip_postal_code) AS content, 18000 AS created_at, 0 AS deleted, '' AS email, '' AS login, '' AS mission_statement, addresses.name AS name, state.name AS state, 0 AS user_id FROM addresses LEFT OUTER JOIN states AS state ON state.id = addresses.state_id WHERE addresses.id >= $start AND addresses.id <= $end GROUP BY addresses.id
108
+ sql_query = SELECT (addresses.id * 5 + 2) AS id, '' AS address_name, 0 AS capitalization, 'Geo::Address' AS class, 2 AS class_id, '' AS company, 0 AS company_facet, '' AS company_name, 0 AS company_name_facet, '' AS company_name_sortable, '' AS company_two, 0 AS company_two_facet, CONCAT_WS(' ', addresses.line_1, addresses.line_2, addresses.city, addresses.province_region, addresses.zip_postal_code) AS content, 18000 AS created_at, 0 AS deleted, '' AS email, RADIANS(addresses.lat) AS lat, RADIANS(addresses.lng) AS lng, '' AS login, '' AS mission_statement, '' AS mission_statement_sortable, addresses.name AS name, state.name AS state, 0 AS user_id FROM addresses LEFT OUTER JOIN states AS state ON state.id = addresses.state_id WHERE addresses.id >= $start AND addresses.id <= $end GROUP BY addresses.id
103
109
 
104
110
  sql_attr_float = capitalization
105
111
  sql_attr_uint = class_id
106
112
  sql_attr_uint = company_facet
107
113
  sql_attr_uint = company_name_facet
114
+ sql_attr_str2ordinal = company_name_sortable
108
115
  sql_attr_uint = company_two_facet
109
116
  sql_attr_timestamp = created_at
110
117
  sql_attr_bool = deleted
111
- sql_attr_str2ordinal = mission_statement
118
+ sql_attr_float = lat
119
+ sql_attr_float = lng
120
+ sql_attr_str2ordinal = mission_statement_sortable
112
121
  sql_attr_uint = user_id
113
122
  sql_query_info = SELECT * FROM addresses WHERE addresses.id = (($id - 2) / 5)
114
123
  }
@@ -122,25 +131,28 @@ source users_main
122
131
  sql_query_post =
123
132
  sql_ranged_throttle = 0
124
133
 
125
- type = mysql
126
- sql_query_pre = SET SESSION group_concat_max_len = 65535
127
- sql_query_pre = SET NAMES utf8
128
-
134
+ type = mysql
135
+ sql_query_pre = SET SESSION group_concat_max_len = 65535
136
+ sql_query_pre = SET NAMES utf8
137
+
129
138
  sql_db = ultrasphinx_development
130
139
  sql_host = localhost
131
140
  sql_pass =
132
141
  sql_user = root
133
142
  sql_query_range = SELECT MIN(id) , MAX(id) FROM users
134
- sql_query = SELECT (users.id * 5 + 3) AS id, '' AS address_name, 0 AS capitalization, 'User' AS class, 3 AS class_id, specific_seller.company_name AS company, CAST(CRC32(specific_seller.company_name) AS unsigned) AS company_facet, '' AS company_name, 0 AS company_name_facet, REPLACE(sellers_two.company_name, '6', ' replacement ') AS company_two, CAST(CRC32(REPLACE(sellers_two.company_name, '6', ' replacement ')) AS unsigned) AS company_two_facet, '' AS content, 18000 AS created_at, users.deleted AS deleted, users.email AS email, users.login AS login, '' AS mission_statement, '' AS name, '' AS state, 0 AS user_id FROM users LEFT OUTER JOIN sellers AS specific_seller ON users.id = specific_seller.user_id LEFT OUTER JOIN sellers AS sellers_two ON users.id = sellers_two.user_id WHERE users.id >= $start AND users.id <= $end AND (deleted = '0') GROUP BY users.id
143
+ sql_query = SELECT (users.id * 5 + 3) AS id, '' AS address_name, 0 AS capitalization, 'User' AS class, 3 AS class_id, specific_seller.company_name AS company, CAST(CRC32(specific_seller.company_name) AS unsigned) AS company_facet, '' AS company_name, 0 AS company_name_facet, '' AS company_name_sortable, REPLACE(sellers_two.company_name, '6', ' replacement ') AS company_two, CAST(CRC32(REPLACE(sellers_two.company_name, '6', ' replacement ')) AS unsigned) AS company_two_facet, '' AS content, 18000 AS created_at, users.deleted AS deleted, users.email AS email, 0 AS lat, 0 AS lng, users.login AS login, '' AS mission_statement, '' AS mission_statement_sortable, '' AS name, '' AS state, 0 AS user_id FROM users LEFT OUTER JOIN sellers AS specific_seller ON users.id = specific_seller.user_id LEFT OUTER JOIN sellers AS sellers_two ON users.id = sellers_two.user_id WHERE users.id >= $start AND users.id <= $end AND (deleted = '0') GROUP BY users.id
135
144
 
136
145
  sql_attr_float = capitalization
137
146
  sql_attr_uint = class_id
138
147
  sql_attr_uint = company_facet
139
148
  sql_attr_uint = company_name_facet
149
+ sql_attr_str2ordinal = company_name_sortable
140
150
  sql_attr_uint = company_two_facet
141
151
  sql_attr_timestamp = created_at
142
152
  sql_attr_bool = deleted
143
- sql_attr_str2ordinal = mission_statement
153
+ sql_attr_float = lat
154
+ sql_attr_float = lng
155
+ sql_attr_str2ordinal = mission_statement_sortable
144
156
  sql_attr_uint = user_id
145
157
  sql_query_info = SELECT * FROM users WHERE users.id = (($id - 3) / 5)
146
158
  }
@@ -154,25 +166,28 @@ source geo__countries_main
154
166
  sql_query_post =
155
167
  sql_ranged_throttle = 0
156
168
 
157
- type = mysql
158
- sql_query_pre = SET SESSION group_concat_max_len = 65535
159
- sql_query_pre = SET NAMES utf8
160
-
169
+ type = mysql
170
+ sql_query_pre = SET SESSION group_concat_max_len = 65535
171
+ sql_query_pre = SET NAMES utf8
172
+
161
173
  sql_db = ultrasphinx_development
162
174
  sql_host = localhost
163
175
  sql_pass =
164
176
  sql_user = root
165
177
  sql_query_range = SELECT MIN(id) , MAX(id) FROM countries
166
- sql_query = SELECT (countries.id * 5 + 4) AS id, '' AS address_name, 0 AS capitalization, 'Geo::Country' AS class, 4 AS class_id, '' AS company, 0 AS company_facet, '' AS company_name, 0 AS company_name_facet, '' AS company_two, 0 AS company_two_facet, '' AS content, 18000 AS created_at, 0 AS deleted, '' AS email, '' AS login, '' AS mission_statement, countries.name AS name, '' AS state, 0 AS user_id FROM countries WHERE countries.id >= $start AND countries.id <= $end GROUP BY countries.id
178
+ sql_query = SELECT (countries.id * 5 + 4) AS id, '' AS address_name, 0 AS capitalization, 'Geo::Country' AS class, 4 AS class_id, '' AS company, 0 AS company_facet, '' AS company_name, 0 AS company_name_facet, '' AS company_name_sortable, '' AS company_two, 0 AS company_two_facet, '' AS content, 18000 AS created_at, 0 AS deleted, '' AS email, 0 AS lat, 0 AS lng, '' AS login, '' AS mission_statement, '' AS mission_statement_sortable, countries.name AS name, '' AS state, 0 AS user_id FROM countries WHERE countries.id >= $start AND countries.id <= $end GROUP BY countries.id
167
179
 
168
180
  sql_attr_float = capitalization
169
181
  sql_attr_uint = class_id
170
182
  sql_attr_uint = company_facet
171
183
  sql_attr_uint = company_name_facet
184
+ sql_attr_str2ordinal = company_name_sortable
172
185
  sql_attr_uint = company_two_facet
173
186
  sql_attr_timestamp = created_at
174
187
  sql_attr_bool = deleted
175
- sql_attr_str2ordinal = mission_statement
188
+ sql_attr_float = lat
189
+ sql_attr_float = lng
190
+ sql_attr_str2ordinal = mission_statement_sortable
176
191
  sql_attr_uint = user_id
177
192
  sql_query_info = SELECT * FROM countries WHERE countries.id = (($id - 4) / 5)
178
193
  }
@@ -209,25 +224,28 @@ source sellers_delta
209
224
  sql_query_post =
210
225
  sql_ranged_throttle = 0
211
226
 
212
- type = mysql
213
- sql_query_pre = SET SESSION group_concat_max_len = 65535
214
- sql_query_pre = SET NAMES utf8
215
-
227
+ type = mysql
228
+ sql_query_pre = SET SESSION group_concat_max_len = 65535
229
+ sql_query_pre = SET NAMES utf8
230
+
216
231
  sql_db = ultrasphinx_development
217
232
  sql_host = localhost
218
233
  sql_pass =
219
234
  sql_user = root
220
235
  sql_query_range = SELECT MIN(id) , MAX(id) FROM sellers WHERE sellers.updated_at > DATE_SUB(NOW(), INTERVAL 88200 SECOND)
221
- sql_query = SELECT (sellers.id * 5 + 1) AS id, '' AS address_name, sellers.capitalization AS capitalization, 'Seller' AS class, 1 AS class_id, '' AS company, 0 AS company_facet, sellers.company_name AS company_name, CAST(CRC32(sellers.company_name) AS unsigned) AS company_name_facet, '' AS company_two, 0 AS company_two_facet, '' AS content, UNIX_TIMESTAMP(sellers.created_at) AS created_at, 0 AS deleted, '' AS email, '' AS login, sellers.mission_statement AS mission_statement, '' AS name, '' AS state, sellers.user_id AS user_id FROM sellers WHERE sellers.id >= $start AND sellers.id <= $end AND sellers.updated_at > DATE_SUB(NOW(), INTERVAL 88200 SECOND) GROUP BY sellers.id
236
+ sql_query = SELECT (sellers.id * 5 + 1) AS id, '' AS address_name, sellers.capitalization AS capitalization, 'Seller' AS class, 1 AS class_id, '' AS company, 0 AS company_facet, sellers.company_name AS company_name, CAST(CRC32(sellers.company_name) AS unsigned) AS company_name_facet, sellers.company_name AS company_name_sortable, '' AS company_two, 0 AS company_two_facet, '' AS content, UNIX_TIMESTAMP(sellers.created_at) AS created_at, 0 AS deleted, '' AS email, 0 AS lat, 0 AS lng, '' AS login, sellers.mission_statement AS mission_statement, sellers.mission_statement AS mission_statement_sortable, '' AS name, '' AS state, sellers.user_id AS user_id FROM sellers WHERE sellers.id >= $start AND sellers.id <= $end AND sellers.updated_at > DATE_SUB(NOW(), INTERVAL 88200 SECOND) GROUP BY sellers.id
222
237
 
223
238
  sql_attr_float = capitalization
224
239
  sql_attr_uint = class_id
225
240
  sql_attr_uint = company_facet
226
241
  sql_attr_uint = company_name_facet
242
+ sql_attr_str2ordinal = company_name_sortable
227
243
  sql_attr_uint = company_two_facet
228
244
  sql_attr_timestamp = created_at
229
245
  sql_attr_bool = deleted
230
- sql_attr_str2ordinal = mission_statement
246
+ sql_attr_float = lat
247
+ sql_attr_float = lng
248
+ sql_attr_str2ordinal = mission_statement_sortable
231
249
  sql_attr_uint = user_id
232
250
  sql_query_info = SELECT * FROM sellers WHERE sellers.id = (($id - 1) / 5)
233
251
  }
@@ -241,25 +259,28 @@ source geo__addresses_delta
241
259
  sql_query_post =
242
260
  sql_ranged_throttle = 0
243
261
 
244
- type = mysql
245
- sql_query_pre = SET SESSION group_concat_max_len = 65535
246
- sql_query_pre = SET NAMES utf8
247
-
262
+ type = mysql
263
+ sql_query_pre = SET SESSION group_concat_max_len = 65535
264
+ sql_query_pre = SET NAMES utf8
265
+
248
266
  sql_db = ultrasphinx_development
249
267
  sql_host = localhost
250
268
  sql_pass =
251
269
  sql_user = root
252
270
  sql_query_range = SELECT MIN(id) , MAX(id) FROM addresses
253
- sql_query = SELECT (addresses.id * 5 + 2) AS id, '' AS address_name, 0 AS capitalization, 'Geo::Address' AS class, 2 AS class_id, '' AS company, 0 AS company_facet, '' AS company_name, 0 AS company_name_facet, '' AS company_two, 0 AS company_two_facet, CONCAT_WS(' ', addresses.line_1, addresses.line_2, addresses.city, addresses.province_region, addresses.zip_postal_code) AS content, 18000 AS created_at, 0 AS deleted, '' AS email, '' AS login, '' AS mission_statement, addresses.name AS name, state.name AS state, 0 AS user_id FROM addresses LEFT OUTER JOIN states AS state ON state.id = addresses.state_id WHERE addresses.id >= $start AND addresses.id <= $end GROUP BY addresses.id
271
+ sql_query = SELECT (addresses.id * 5 + 2) AS id, '' AS address_name, 0 AS capitalization, 'Geo::Address' AS class, 2 AS class_id, '' AS company, 0 AS company_facet, '' AS company_name, 0 AS company_name_facet, '' AS company_name_sortable, '' AS company_two, 0 AS company_two_facet, CONCAT_WS(' ', addresses.line_1, addresses.line_2, addresses.city, addresses.province_region, addresses.zip_postal_code) AS content, 18000 AS created_at, 0 AS deleted, '' AS email, RADIANS(addresses.lat) AS lat, RADIANS(addresses.lng) AS lng, '' AS login, '' AS mission_statement, '' AS mission_statement_sortable, addresses.name AS name, state.name AS state, 0 AS user_id FROM addresses LEFT OUTER JOIN states AS state ON state.id = addresses.state_id WHERE addresses.id >= $start AND addresses.id <= $end GROUP BY addresses.id
254
272
 
255
273
  sql_attr_float = capitalization
256
274
  sql_attr_uint = class_id
257
275
  sql_attr_uint = company_facet
258
276
  sql_attr_uint = company_name_facet
277
+ sql_attr_str2ordinal = company_name_sortable
259
278
  sql_attr_uint = company_two_facet
260
279
  sql_attr_timestamp = created_at
261
280
  sql_attr_bool = deleted
262
- sql_attr_str2ordinal = mission_statement
281
+ sql_attr_float = lat
282
+ sql_attr_float = lng
283
+ sql_attr_str2ordinal = mission_statement_sortable
263
284
  sql_attr_uint = user_id
264
285
  sql_query_info = SELECT * FROM addresses WHERE addresses.id = (($id - 2) / 5)
265
286
  }
@@ -273,25 +294,28 @@ source users_delta
273
294
  sql_query_post =
274
295
  sql_ranged_throttle = 0
275
296
 
276
- type = mysql
277
- sql_query_pre = SET SESSION group_concat_max_len = 65535
278
- sql_query_pre = SET NAMES utf8
279
-
297
+ type = mysql
298
+ sql_query_pre = SET SESSION group_concat_max_len = 65535
299
+ sql_query_pre = SET NAMES utf8
300
+
280
301
  sql_db = ultrasphinx_development
281
302
  sql_host = localhost
282
303
  sql_pass =
283
304
  sql_user = root
284
305
  sql_query_range = SELECT MIN(id) , MAX(id) FROM users WHERE users.created_at > DATE_SUB(NOW(), INTERVAL 88200 SECOND)
285
- sql_query = SELECT (users.id * 5 + 3) AS id, '' AS address_name, 0 AS capitalization, 'User' AS class, 3 AS class_id, specific_seller.company_name AS company, CAST(CRC32(specific_seller.company_name) AS unsigned) AS company_facet, '' AS company_name, 0 AS company_name_facet, REPLACE(sellers_two.company_name, '6', ' replacement ') AS company_two, CAST(CRC32(REPLACE(sellers_two.company_name, '6', ' replacement ')) AS unsigned) AS company_two_facet, '' AS content, 18000 AS created_at, users.deleted AS deleted, users.email AS email, users.login AS login, '' AS mission_statement, '' AS name, '' AS state, 0 AS user_id FROM users LEFT OUTER JOIN sellers AS specific_seller ON users.id = specific_seller.user_id LEFT OUTER JOIN sellers AS sellers_two ON users.id = sellers_two.user_id WHERE users.id >= $start AND users.id <= $end AND (deleted = '0') AND users.created_at > DATE_SUB(NOW(), INTERVAL 88200 SECOND) GROUP BY users.id
306
+ sql_query = SELECT (users.id * 5 + 3) AS id, '' AS address_name, 0 AS capitalization, 'User' AS class, 3 AS class_id, specific_seller.company_name AS company, CAST(CRC32(specific_seller.company_name) AS unsigned) AS company_facet, '' AS company_name, 0 AS company_name_facet, '' AS company_name_sortable, REPLACE(sellers_two.company_name, '6', ' replacement ') AS company_two, CAST(CRC32(REPLACE(sellers_two.company_name, '6', ' replacement ')) AS unsigned) AS company_two_facet, '' AS content, 18000 AS created_at, users.deleted AS deleted, users.email AS email, 0 AS lat, 0 AS lng, users.login AS login, '' AS mission_statement, '' AS mission_statement_sortable, '' AS name, '' AS state, 0 AS user_id FROM users LEFT OUTER JOIN sellers AS specific_seller ON users.id = specific_seller.user_id LEFT OUTER JOIN sellers AS sellers_two ON users.id = sellers_two.user_id WHERE users.id >= $start AND users.id <= $end AND (deleted = '0') AND users.created_at > DATE_SUB(NOW(), INTERVAL 88200 SECOND) GROUP BY users.id
286
307
 
287
308
  sql_attr_float = capitalization
288
309
  sql_attr_uint = class_id
289
310
  sql_attr_uint = company_facet
290
311
  sql_attr_uint = company_name_facet
312
+ sql_attr_str2ordinal = company_name_sortable
291
313
  sql_attr_uint = company_two_facet
292
314
  sql_attr_timestamp = created_at
293
315
  sql_attr_bool = deleted
294
- sql_attr_str2ordinal = mission_statement
316
+ sql_attr_float = lat
317
+ sql_attr_float = lng
318
+ sql_attr_str2ordinal = mission_statement_sortable
295
319
  sql_attr_uint = user_id
296
320
  sql_query_info = SELECT * FROM users WHERE users.id = (($id - 3) / 5)
297
321
  }