ultrasphinx 1.9 → 1.11
Sign up to get free protection for your applications and to get access to all the features.
- data.tar.gz.sig +0 -0
- data/CHANGELOG +6 -0
- data/DEPLOYMENT_NOTES +3 -1
- data/Manifest +10 -2
- data/RAKE_TASKS +2 -1
- data/README +6 -6
- data/Rakefile +27 -0
- data/examples/default.base +7 -2
- data/init.rb +1 -0
- data/lib/ultrasphinx/autoload.rb +0 -1
- data/lib/ultrasphinx/configure.rb +64 -36
- data/lib/ultrasphinx/core_extensions.rb +17 -2
- data/lib/ultrasphinx/fields.rb +33 -13
- data/lib/ultrasphinx/is_indexed.rb +32 -14
- data/lib/ultrasphinx/postgresql/concat_ws.sql +3 -3
- data/lib/ultrasphinx/postgresql/crc32.sql +1 -1
- data/lib/ultrasphinx/postgresql/group_concat.sql +1 -3
- data/lib/ultrasphinx/postgresql/hex_to_int.sql +1 -1
- data/lib/ultrasphinx/postgresql/unix_timestamp.sql +1 -1
- data/lib/ultrasphinx/search.rb +56 -6
- data/lib/ultrasphinx/search/internals.rb +88 -23
- data/lib/ultrasphinx/search/parser.rb +16 -2
- data/lib/ultrasphinx/spell.rb +2 -1
- data/lib/ultrasphinx/ultrasphinx.rb +43 -49
- data/tasks/ultrasphinx.rake +56 -16
- data/test/config/ultrasphinx/test.base +7 -2
- data/test/integration/app/app/controllers/addresses_controller.rb +9 -9
- data/test/integration/app/app/controllers/states_controller.rb +9 -9
- data/test/integration/app/app/models/category.rb +5 -0
- data/test/integration/app/app/models/geo/address.rb +1 -1
- data/test/integration/app/app/models/seller.rb +3 -3
- data/test/integration/app/app/views/addresses/edit.html.erb +2 -2
- data/test/integration/app/app/views/addresses/index.html.erb +2 -2
- data/test/integration/app/app/views/addresses/new.html.erb +1 -1
- data/test/integration/app/app/views/states/edit.html.erb +2 -2
- data/test/integration/app/app/views/states/index.html.erb +2 -2
- data/test/integration/app/app/views/states/new.html.erb +1 -1
- data/test/integration/app/app/views/users/index.html.erb +3 -3
- data/test/integration/app/config/environment.rb +1 -0
- data/test/integration/app/config/ultrasphinx/default.base +2 -2
- data/test/integration/app/config/ultrasphinx/development.conf.canonical +74 -50
- data/test/integration/app/db/migrate/007_add_lat_and_long_to_address.rb +3 -3
- data/test/integration/app/db/migrate/010_create_categories.rb +14 -0
- data/test/integration/app/db/migrate/011_categories_sellers.rb +15 -0
- data/test/integration/app/public/dispatch.cgi +0 -0
- data/test/integration/app/public/dispatch.fcgi +0 -0
- data/test/integration/app/public/dispatch.rb +0 -0
- data/test/integration/app/script/about +0 -0
- data/test/integration/app/script/breakpointer +0 -0
- data/test/integration/app/script/console +0 -0
- data/test/integration/app/script/destroy +0 -0
- data/test/integration/app/script/generate +0 -0
- data/test/integration/app/script/performance/benchmarker +0 -0
- data/test/integration/app/script/performance/profiler +0 -0
- data/test/integration/app/script/plugin +0 -0
- data/test/integration/app/script/process/inspector +0 -0
- data/test/integration/app/script/process/reaper +0 -0
- data/test/integration/app/script/process/spawner +0 -0
- data/test/integration/app/script/runner +0 -0
- data/test/integration/app/script/server +0 -0
- data/test/integration/app/test/fixtures/addresses.yml +77 -6
- data/test/integration/app/test/fixtures/categories.yml +101 -0
- data/test/integration/app/test/fixtures/categories_sellers.yml +29 -0
- data/test/integration/app/test/functional/addresses_controller_test.rb +9 -4
- data/test/integration/app/test/functional/sellers_controller_test.rb +9 -2
- data/test/integration/app/test/functional/states_controller_test.rb +10 -4
- data/test/integration/app/test/functional/users_controller_test.rb +7 -2
- data/test/integration/app/test/unit/address_test.rb +1 -1
- data/test/integration/app/test/unit/category_test.rb +8 -0
- data/test/integration/app/test/unit/country_test.rb +1 -1
- data/test/integration/app/test/unit/state_test.rb +1 -1
- data/test/integration/app/test/unit/user_test.rb +1 -1
- data/test/integration/delta_test.rb +13 -0
- data/test/integration/search_test.rb +80 -8
- data/test/profile/benchmark.rb +0 -0
- data/test/setup.rb +25 -7
- data/test/teardown.rb +13 -0
- data/test/test_helper.rb +3 -3
- data/ultrasphinx.gemspec +22 -43
- data/vendor/riddle/README +18 -4
- data/vendor/riddle/Rakefile +1 -0
- data/vendor/riddle/lib/riddle.rb +11 -5
- data/vendor/riddle/lib/riddle/client.rb +65 -20
- data/vendor/riddle/lib/riddle/client/response.rb +10 -0
- data/vendor/riddle/spec/fixtures/data/anchor.bin +0 -0
- data/vendor/riddle/spec/fixtures/data/any.bin +0 -0
- data/vendor/riddle/spec/fixtures/data/boolean.bin +0 -0
- data/vendor/riddle/spec/fixtures/data/comment.bin +0 -0
- data/vendor/riddle/spec/fixtures/data/distinct.bin +0 -0
- data/vendor/riddle/spec/fixtures/data/field_weights.bin +0 -0
- data/vendor/riddle/spec/fixtures/data/filter.bin +0 -0
- data/vendor/riddle/spec/fixtures/data/group.bin +0 -0
- data/vendor/riddle/spec/fixtures/data/index.bin +0 -0
- data/vendor/riddle/spec/fixtures/data/index_weights.bin +0 -0
- data/vendor/riddle/spec/fixtures/data/keywords_with_hits.bin +0 -0
- data/vendor/riddle/spec/fixtures/data/keywords_without_hits.bin +0 -0
- data/vendor/riddle/spec/fixtures/data/phrase.bin +0 -0
- data/vendor/riddle/spec/fixtures/data/rank_mode.bin +0 -0
- data/vendor/riddle/spec/fixtures/data/simple.bin +0 -0
- data/vendor/riddle/spec/fixtures/data/sort.bin +0 -0
- data/vendor/riddle/spec/fixtures/data/weights.bin +0 -0
- data/vendor/riddle/spec/fixtures/data_generator.php +15 -0
- data/vendor/riddle/spec/fixtures/sphinx/configuration.erb +4 -4
- data/vendor/riddle/spec/fixtures/sphinxapi.php +118 -7
- data/vendor/riddle/spec/functional/keywords_spec.rb +40 -0
- data/vendor/riddle/spec/spec_helper.rb +1 -0
- data/vendor/riddle/spec/unit/client_spec.rb +26 -0
- metadata +38 -11
- metadata.gz.sig +0 -0
- data/test/integration/app/config/ultrasphinx/development.conf +0 -319
- data/test/integration/app/db/schema.rb +0 -56
@@ -65,6 +65,16 @@ module Riddle
|
|
65
65
|
return items
|
66
66
|
end
|
67
67
|
|
68
|
+
def next_float_array
|
69
|
+
count = next_int
|
70
|
+
items = []
|
71
|
+
for i in 0...count
|
72
|
+
items << self.next_float
|
73
|
+
end
|
74
|
+
|
75
|
+
return items
|
76
|
+
end
|
77
|
+
|
68
78
|
# Returns the length of the streamed data
|
69
79
|
def length
|
70
80
|
@str.length
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -122,9 +122,24 @@ fclose($file);
|
|
122
122
|
|
123
123
|
$client->SetFieldWeights(array());
|
124
124
|
|
125
|
+
// comment
|
126
|
+
$file = fopen("spec/fixtures/data/comment.bin", "w");
|
127
|
+
fwrite($file, $client->_reqs[$client->AddQuery("test ", "*", "commenting")]);
|
128
|
+
fclose($file);
|
129
|
+
|
125
130
|
// update_simple
|
126
131
|
$file = fopen("spec/fixtures/data/update_simple.bin", "w");
|
127
132
|
fwrite($file, $client->UpdateAttributes("people", array("birthday"), array(1 => array(191163600))));
|
128
133
|
fclose($file);
|
129
134
|
|
135
|
+
// keywords_without_hits
|
136
|
+
$file = fopen("spec/fixtures/data/keywords_without_hits.bin", "w");
|
137
|
+
fwrite($file, $client->BuildKeywords("pat", "people", false));
|
138
|
+
fclose($file);
|
139
|
+
|
140
|
+
// keywords_with_hits
|
141
|
+
$file = fopen("spec/fixtures/data/keywords_with_hits.bin", "w");
|
142
|
+
fwrite($file, $client->BuildKeywords("pat", "people", true));
|
143
|
+
fclose($file);
|
144
|
+
|
130
145
|
?>
|
@@ -21,10 +21,10 @@ source peoples
|
|
21
21
|
sql_pass = <%= @password %>
|
22
22
|
sql_db = riddle_sphinx_spec
|
23
23
|
|
24
|
-
sql_query
|
25
|
-
sql_query_range
|
26
|
-
sql_query_info
|
27
|
-
|
24
|
+
sql_query = SELECT id, first_name, middle_initial, last_name, gender, street_address, city, state, postcode, email, UNIX_TIMESTAMP(birthday) AS birthday FROM people WHERE id >= $start AND id <= $end
|
25
|
+
sql_query_range = SELECT MIN(id), MAX(id) FROM people
|
26
|
+
sql_query_info = SELECT * FROM people WHERE id = $id
|
27
|
+
sql_attr_timestamp = birthday
|
28
28
|
}
|
29
29
|
|
30
30
|
index people
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<?php
|
2
2
|
|
3
3
|
//
|
4
|
-
// $Id: sphinxapi.php
|
4
|
+
// $Id: sphinxapi.php 1163 2008-02-19 21:00:40Z glook $
|
5
5
|
//
|
6
6
|
|
7
7
|
//
|
@@ -21,11 +21,13 @@
|
|
21
21
|
define ( "SEARCHD_COMMAND_SEARCH", 0 );
|
22
22
|
define ( "SEARCHD_COMMAND_EXCERPT", 1 );
|
23
23
|
define ( "SEARCHD_COMMAND_UPDATE", 2 );
|
24
|
+
define ( "SEARCHD_COMMAND_KEYWORDS",3 );
|
24
25
|
|
25
26
|
/// current client-side command implementation versions
|
26
|
-
define ( "VER_COMMAND_SEARCH",
|
27
|
+
define ( "VER_COMMAND_SEARCH", 0x113 );
|
27
28
|
define ( "VER_COMMAND_EXCERPT", 0x100 );
|
28
29
|
define ( "VER_COMMAND_UPDATE", 0x101 );
|
30
|
+
define ( "VER_COMMAND_KEYWORDS", 0x100 );
|
29
31
|
|
30
32
|
/// known searchd status codes
|
31
33
|
define ( "SEARCHD_OK", 0 );
|
@@ -591,11 +593,11 @@ class SphinxClient
|
|
591
593
|
|
592
594
|
/// connect to searchd server, run given search query through given indexes,
|
593
595
|
/// and return the search results
|
594
|
-
function Query ( $query, $index="*" )
|
596
|
+
function Query ( $query, $index="*", $comment="" )
|
595
597
|
{
|
596
598
|
assert ( empty($this->_reqs) );
|
597
599
|
|
598
|
-
$this->AddQuery ( $query, $index );
|
600
|
+
$this->AddQuery ( $query, $index, $comment );
|
599
601
|
$results = $this->RunQueries ();
|
600
602
|
|
601
603
|
if ( !is_array($results) )
|
@@ -619,7 +621,7 @@ class SphinxClient
|
|
619
621
|
|
620
622
|
/// add query to multi-query batch
|
621
623
|
/// returns index into results array from RunQueries() call
|
622
|
-
function AddQuery ( $query, $index="*" )
|
624
|
+
function AddQuery ( $query, $index="*", $comment="" )
|
623
625
|
{
|
624
626
|
// mbstring workaround
|
625
627
|
$this->_MBPush ();
|
@@ -696,6 +698,9 @@ class SphinxClient
|
|
696
698
|
foreach ( $this->_fieldweights as $field=>$weight )
|
697
699
|
$req .= pack ( "N", strlen($field) ) . $field . pack ( "N", $weight );
|
698
700
|
|
701
|
+
// comment
|
702
|
+
$req .= pack ( "N", strlen($comment) ) . $comment;
|
703
|
+
|
699
704
|
// mbstring workaround
|
700
705
|
$this->_MBPop ();
|
701
706
|
|
@@ -817,7 +822,16 @@ class SphinxClient
|
|
817
822
|
list ( $doc, $weight ) = array_values ( unpack ( "N*N*",
|
818
823
|
substr ( $response, $p, 8 ) ) );
|
819
824
|
$p += 8;
|
820
|
-
|
825
|
+
|
826
|
+
if ( PHP_INT_SIZE>=8 )
|
827
|
+
{
|
828
|
+
// x64 route, workaround broken unpack() in 5.2.2+
|
829
|
+
if ( $doc<0 ) $doc += (1<<32);
|
830
|
+
} else
|
831
|
+
{
|
832
|
+
// x32 route, workaround php signed/unsigned braindamage
|
833
|
+
$doc = sprintf ( "%u", $doc );
|
834
|
+
}
|
821
835
|
}
|
822
836
|
$weight = sprintf ( "%u", $weight );
|
823
837
|
|
@@ -989,6 +1003,103 @@ class SphinxClient
|
|
989
1003
|
return $res;
|
990
1004
|
}
|
991
1005
|
|
1006
|
+
|
1007
|
+
/////////////////////////////////////////////////////////////////////////////
|
1008
|
+
// keyword generation
|
1009
|
+
/////////////////////////////////////////////////////////////////////////////
|
1010
|
+
|
1011
|
+
/// connect to searchd server, and generate keyword list for a given query
|
1012
|
+
/// returns false on failure,
|
1013
|
+
/// an array of words on success
|
1014
|
+
function BuildKeywords ( $query, $index, $hits )
|
1015
|
+
{
|
1016
|
+
assert ( is_string($query) );
|
1017
|
+
assert ( is_string($index) );
|
1018
|
+
assert ( is_bool($hits) );
|
1019
|
+
|
1020
|
+
// Commented out for testing Riddle
|
1021
|
+
// $this->_MBPush ();
|
1022
|
+
//
|
1023
|
+
// if (!( $fp = $this->_Connect() ))
|
1024
|
+
// {
|
1025
|
+
// $this->_MBPop();
|
1026
|
+
// return false;
|
1027
|
+
// }
|
1028
|
+
|
1029
|
+
/////////////////
|
1030
|
+
// build request
|
1031
|
+
/////////////////
|
1032
|
+
|
1033
|
+
// v.1.0 req
|
1034
|
+
$req = pack ( "N", strlen($query) ) . $query; // req query
|
1035
|
+
$req .= pack ( "N", strlen($index) ) . $index; // req index
|
1036
|
+
$req .= pack ( "N", (int)$hits );
|
1037
|
+
|
1038
|
+
// Line for testing Riddle:
|
1039
|
+
return $req;
|
1040
|
+
|
1041
|
+
////////////////////////////
|
1042
|
+
// send query, get response
|
1043
|
+
////////////////////////////
|
1044
|
+
|
1045
|
+
$len = strlen($req);
|
1046
|
+
$req = pack ( "nnN", SEARCHD_COMMAND_KEYWORDS, VER_COMMAND_KEYWORDS, $len ) . $req; // add header
|
1047
|
+
$wrote = fwrite ( $fp, $req, $len+8 );
|
1048
|
+
if (!( $response = $this->_GetResponse ( $fp, VER_COMMAND_KEYWORDS ) ))
|
1049
|
+
{
|
1050
|
+
$this->_MBPop ();
|
1051
|
+
return false;
|
1052
|
+
}
|
1053
|
+
|
1054
|
+
//////////////////
|
1055
|
+
// parse response
|
1056
|
+
//////////////////
|
1057
|
+
|
1058
|
+
$pos = 0;
|
1059
|
+
$res = array ();
|
1060
|
+
$rlen = strlen($response);
|
1061
|
+
list(,$nwords) = unpack ( "N*", substr ( $response, $pos, 4 ) );
|
1062
|
+
$pos += 4;
|
1063
|
+
for ( $i=0; $i<$nwords; $i++ )
|
1064
|
+
{
|
1065
|
+
list(,$len) = unpack ( "N*", substr ( $response, $pos, 4 ) ); $pos += 4;
|
1066
|
+
$tokenized = $len ? substr ( $response, $pos, $len ) : "";
|
1067
|
+
$pos += $len;
|
1068
|
+
|
1069
|
+
list(,$len) = unpack ( "N*", substr ( $response, $pos, 4 ) ); $pos += 4;
|
1070
|
+
$normalized = $len ? substr ( $response, $pos, $len ) : "";
|
1071
|
+
$pos += $len;
|
1072
|
+
|
1073
|
+
$res[] = array ( "tokenized"=>$tokenized, "normalized"=>$normalized );
|
1074
|
+
|
1075
|
+
if ( $hits )
|
1076
|
+
{
|
1077
|
+
list($ndocs,$nhits) = array_values ( unpack ( "N*N*", substr ( $response, $pos, 8 ) ) );
|
1078
|
+
$pos += 8;
|
1079
|
+
$res [$i]["docs"] = $ndocs;
|
1080
|
+
$res [$i]["hits"] = $nhits;
|
1081
|
+
}
|
1082
|
+
|
1083
|
+
if ( $pos > $rlen )
|
1084
|
+
{
|
1085
|
+
$this->_error = "incomplete reply";
|
1086
|
+
$this->_MBPop ();
|
1087
|
+
return false;
|
1088
|
+
}
|
1089
|
+
}
|
1090
|
+
|
1091
|
+
$this->_MBPop ();
|
1092
|
+
return $res;
|
1093
|
+
}
|
1094
|
+
|
1095
|
+
function EscapeString ( $string )
|
1096
|
+
{
|
1097
|
+
$from = array ( '(',')','|','-','!','@','~','\"','&' );
|
1098
|
+
$to = array ( '\\(','\\)','\\|','\\-','\\!','\\@','\\~','\\\"', '\\&' );
|
1099
|
+
|
1100
|
+
return str_replace ( $from, $to, $string );
|
1101
|
+
}
|
1102
|
+
|
992
1103
|
/////////////////////////////////////////////////////////////////////////////
|
993
1104
|
// attribute updates
|
994
1105
|
/////////////////////////////////////////////////////////////////////////////
|
@@ -1060,7 +1171,7 @@ class SphinxClient
|
|
1060
1171
|
}
|
1061
1172
|
|
1062
1173
|
//
|
1063
|
-
// $Id: sphinxapi.php
|
1174
|
+
// $Id: sphinxapi.php 1163 2008-02-19 21:00:40Z glook $
|
1064
1175
|
//
|
1065
1176
|
|
1066
1177
|
?>
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require 'spec/spec_helper'
|
2
|
+
|
3
|
+
describe "Sphinx Keywords" do
|
4
|
+
before :each do
|
5
|
+
@client = Riddle::Client.new("localhost", 3313)
|
6
|
+
end
|
7
|
+
|
8
|
+
it "should return an array of hashes" do
|
9
|
+
results = @client.keywords("pat", "people")
|
10
|
+
results.should be_kind_of(Array)
|
11
|
+
|
12
|
+
results.each do |result|
|
13
|
+
result.should be_kind_of(Hash)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
it "should have keys for normalised and tokenised versions of the keywords" do
|
18
|
+
results = @client.keywords("pat", "people")
|
19
|
+
results.each do |result|
|
20
|
+
result.keys.should include(:normalised)
|
21
|
+
result.keys.should include(:tokenised)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
it "shouldn't have docs or hits keys if not requested" do
|
26
|
+
results = @client.keywords("pat", "people")
|
27
|
+
results.each do |result|
|
28
|
+
result.keys.should_not include(:docs)
|
29
|
+
result.keys.should_not include(:hits)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
it "should have docs and hits keys if requested" do
|
34
|
+
results = @client.keywords("pat", "people", true)
|
35
|
+
results.each do |result|
|
36
|
+
result.keys.should include(:docs)
|
37
|
+
result.keys.should include(:hits)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -123,6 +123,12 @@ describe Riddle::Client do
|
|
123
123
|
client.queue.first.should == query_contents(:field_weights)
|
124
124
|
end
|
125
125
|
|
126
|
+
it "should build a message with acomment correctly" do
|
127
|
+
client = Riddle::Client.new
|
128
|
+
client.append_query "test ", "*", "commenting"
|
129
|
+
client.queue.first.should == query_contents(:comment)
|
130
|
+
end
|
131
|
+
|
126
132
|
it "should keep multiple messages in the queue" do
|
127
133
|
client = Riddle::Client.new
|
128
134
|
client.weights = [100, 1]
|
@@ -151,4 +157,24 @@ describe Riddle::Client do
|
|
151
157
|
{1 => [191163600]}
|
152
158
|
).should == query_contents(:update_simple)
|
153
159
|
end
|
160
|
+
|
161
|
+
it "should build a keywords request without hits correctly" do
|
162
|
+
client = Riddle::Client.new
|
163
|
+
client.send(
|
164
|
+
:keywords_message,
|
165
|
+
"pat",
|
166
|
+
"people",
|
167
|
+
false
|
168
|
+
).should == query_contents(:keywords_without_hits)
|
169
|
+
end
|
170
|
+
|
171
|
+
it "should build a keywords request with hits correctly" do
|
172
|
+
client = Riddle::Client.new
|
173
|
+
client.send(
|
174
|
+
:keywords_message,
|
175
|
+
"pat",
|
176
|
+
"people",
|
177
|
+
true
|
178
|
+
).should == query_contents(:keywords_with_hits)
|
179
|
+
end
|
154
180
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ultrasphinx
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: "1.
|
4
|
+
version: "1.11"
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ""
|
@@ -30,11 +30,12 @@ cert_chain:
|
|
30
30
|
yZ0=
|
31
31
|
-----END CERTIFICATE-----
|
32
32
|
|
33
|
-
date:
|
33
|
+
date: 2009-11-18 00:00:00 -08:00
|
34
34
|
default_executable:
|
35
35
|
dependencies:
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: chronic
|
38
|
+
type: :runtime
|
38
39
|
version_requirement:
|
39
40
|
version_requirements: !ruby/object:Gem::Requirement
|
40
41
|
requirements:
|
@@ -48,8 +49,18 @@ executables: []
|
|
48
49
|
|
49
50
|
extensions: []
|
50
51
|
|
51
|
-
extra_rdoc_files:
|
52
|
-
|
52
|
+
extra_rdoc_files:
|
53
|
+
- CHANGELOG
|
54
|
+
- DEPLOYMENT_NOTES
|
55
|
+
- lib/ultrasphinx/is_indexed.rb
|
56
|
+
- lib/ultrasphinx/search.rb
|
57
|
+
- lib/ultrasphinx/spell.rb
|
58
|
+
- lib/ultrasphinx/ultrasphinx.rb
|
59
|
+
- lib/ultrasphinx.rb
|
60
|
+
- LICENSE
|
61
|
+
- RAKE_TASKS
|
62
|
+
- README
|
63
|
+
- TODO
|
53
64
|
files:
|
54
65
|
- CHANGELOG
|
55
66
|
- DEPLOYMENT_NOTES
|
@@ -90,6 +101,7 @@ files:
|
|
90
101
|
- test/integration/app/app/helpers/sellers_helper.rb
|
91
102
|
- test/integration/app/app/helpers/states_helper.rb
|
92
103
|
- test/integration/app/app/helpers/users_helper.rb
|
104
|
+
- test/integration/app/app/models/category.rb
|
93
105
|
- test/integration/app/app/models/geo/address.rb
|
94
106
|
- test/integration/app/app/models/geo/country.rb
|
95
107
|
- test/integration/app/app/models/geo/state.rb
|
@@ -124,7 +136,6 @@ files:
|
|
124
136
|
- test/integration/app/config/locomotive.yml
|
125
137
|
- test/integration/app/config/routes.rb
|
126
138
|
- test/integration/app/config/ultrasphinx/default.base
|
127
|
-
- test/integration/app/config/ultrasphinx/development.conf
|
128
139
|
- test/integration/app/config/ultrasphinx/development.conf.canonical
|
129
140
|
- test/integration/app/db/migrate/001_create_users.rb
|
130
141
|
- test/integration/app/db/migrate/002_create_sellers.rb
|
@@ -135,7 +146,8 @@ files:
|
|
135
146
|
- test/integration/app/db/migrate/007_add_lat_and_long_to_address.rb
|
136
147
|
- test/integration/app/db/migrate/008_add_mission_statement_to_seller.rb
|
137
148
|
- test/integration/app/db/migrate/009_create_countries.rb
|
138
|
-
- test/integration/app/db/
|
149
|
+
- test/integration/app/db/migrate/010_create_categories.rb
|
150
|
+
- test/integration/app/db/migrate/011_categories_sellers.rb
|
139
151
|
- test/integration/app/doc/README_FOR_APP
|
140
152
|
- test/integration/app/public/404.html
|
141
153
|
- test/integration/app/public/500.html
|
@@ -168,6 +180,8 @@ files:
|
|
168
180
|
- test/integration/app/script/runner
|
169
181
|
- test/integration/app/script/server
|
170
182
|
- test/integration/app/test/fixtures/addresses.yml
|
183
|
+
- test/integration/app/test/fixtures/categories.yml
|
184
|
+
- test/integration/app/test/fixtures/categories_sellers.yml
|
171
185
|
- test/integration/app/test/fixtures/countries.yml
|
172
186
|
- test/integration/app/test/fixtures/sellers.yml
|
173
187
|
- test/integration/app/test/fixtures/states.yml
|
@@ -178,6 +192,7 @@ files:
|
|
178
192
|
- test/integration/app/test/functional/users_controller_test.rb
|
179
193
|
- test/integration/app/test/test_helper.rb
|
180
194
|
- test/integration/app/test/unit/address_test.rb
|
195
|
+
- test/integration/app/test/unit/category_test.rb
|
181
196
|
- test/integration/app/test/unit/country_test.rb
|
182
197
|
- test/integration/app/test/unit/seller_test.rb
|
183
198
|
- test/integration/app/test/unit/state_test.rb
|
@@ -206,6 +221,7 @@ files:
|
|
206
221
|
- vendor/riddle/spec/fixtures/data/anchor.bin
|
207
222
|
- vendor/riddle/spec/fixtures/data/any.bin
|
208
223
|
- vendor/riddle/spec/fixtures/data/boolean.bin
|
224
|
+
- vendor/riddle/spec/fixtures/data/comment.bin
|
209
225
|
- vendor/riddle/spec/fixtures/data/distinct.bin
|
210
226
|
- vendor/riddle/spec/fixtures/data/field_weights.bin
|
211
227
|
- vendor/riddle/spec/fixtures/data/filter.bin
|
@@ -219,6 +235,8 @@ files:
|
|
219
235
|
- vendor/riddle/spec/fixtures/data/group.bin
|
220
236
|
- vendor/riddle/spec/fixtures/data/index.bin
|
221
237
|
- vendor/riddle/spec/fixtures/data/index_weights.bin
|
238
|
+
- vendor/riddle/spec/fixtures/data/keywords_with_hits.bin
|
239
|
+
- vendor/riddle/spec/fixtures/data/keywords_without_hits.bin
|
222
240
|
- vendor/riddle/spec/fixtures/data/phrase.bin
|
223
241
|
- vendor/riddle/spec/fixtures/data/rank_mode.bin
|
224
242
|
- vendor/riddle/spec/fixtures/data/simple.bin
|
@@ -232,6 +250,7 @@ files:
|
|
232
250
|
- vendor/riddle/spec/fixtures/sql/data.sql
|
233
251
|
- vendor/riddle/spec/fixtures/sql/structure.sql
|
234
252
|
- vendor/riddle/spec/functional/excerpt_spec.rb
|
253
|
+
- vendor/riddle/spec/functional/keywords_spec.rb
|
235
254
|
- vendor/riddle/spec/functional/search_spec.rb
|
236
255
|
- vendor/riddle/spec/functional/update_spec.rb
|
237
256
|
- vendor/riddle/spec/spec_helper.rb
|
@@ -242,11 +261,19 @@ files:
|
|
242
261
|
- vendor/riddle/spec/unit/response_spec.rb
|
243
262
|
- vendor/will_paginate/LICENSE
|
244
263
|
- ultrasphinx.gemspec
|
264
|
+
- Rakefile
|
245
265
|
has_rdoc: true
|
246
266
|
homepage: http://blog.evanweaver.com/files/doc/fauna/ultrasphinx/
|
247
|
-
|
248
|
-
rdoc_options: []
|
267
|
+
licenses: []
|
249
268
|
|
269
|
+
post_install_message:
|
270
|
+
rdoc_options:
|
271
|
+
- --line-numbers
|
272
|
+
- --inline-source
|
273
|
+
- --title
|
274
|
+
- Ultrasphinx
|
275
|
+
- --main
|
276
|
+
- README
|
250
277
|
require_paths:
|
251
278
|
- lib
|
252
279
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -259,14 +286,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
259
286
|
requirements:
|
260
287
|
- - ">="
|
261
288
|
- !ruby/object:Gem::Version
|
262
|
-
version: "
|
289
|
+
version: "1.2"
|
263
290
|
version:
|
264
291
|
requirements: []
|
265
292
|
|
266
293
|
rubyforge_project: fauna
|
267
|
-
rubygems_version: 1.
|
294
|
+
rubygems_version: 1.3.5
|
268
295
|
signing_key:
|
269
|
-
specification_version:
|
296
|
+
specification_version: 3
|
270
297
|
summary: Ruby on Rails configurator and client to the Sphinx fulltext search engine.
|
271
298
|
test_files:
|
272
299
|
- test/test_all.rb
|