ts-xml 0.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. data/LICENSE +1 -1
  2. data/README.textile +9 -9
  3. data/lib/thinking_sphinx/xml/adapters/oracle_adapter.rb +5 -2
  4. data/lib/thinking_sphinx/xml/tasks.rb +12 -4
  5. metadata +40 -102
  6. data/features/alternate_primary_key.feature +0 -27
  7. data/features/attribute_transformation.feature +0 -22
  8. data/features/attribute_updates.feature +0 -39
  9. data/features/deleting_instances.feature +0 -67
  10. data/features/direct_attributes.feature +0 -11
  11. data/features/excerpts.feature +0 -13
  12. data/features/extensible_delta_indexing.feature +0 -9
  13. data/features/facets.feature +0 -82
  14. data/features/facets_across_model.feature +0 -29
  15. data/features/handling_edits.feature +0 -92
  16. data/features/retry_stale_indexes.feature +0 -24
  17. data/features/searching_across_models.feature +0 -20
  18. data/features/searching_by_index.feature +0 -40
  19. data/features/searching_by_model.feature +0 -175
  20. data/features/searching_with_find_arguments.feature +0 -56
  21. data/features/sphinx_detection.feature +0 -25
  22. data/features/sphinx_scopes.feature +0 -42
  23. data/features/step_definitions/alpha_steps.rb +0 -7
  24. data/features/step_definitions/beta_steps.rb +0 -7
  25. data/features/step_definitions/common_steps.rb +0 -188
  26. data/features/step_definitions/extensible_delta_indexing_steps.rb +0 -7
  27. data/features/step_definitions/facet_steps.rb +0 -96
  28. data/features/step_definitions/find_arguments_steps.rb +0 -36
  29. data/features/step_definitions/gamma_steps.rb +0 -15
  30. data/features/step_definitions/scope_steps.rb +0 -15
  31. data/features/step_definitions/search_steps.rb +0 -89
  32. data/features/step_definitions/sphinx_steps.rb +0 -35
  33. data/features/sti_searching.feature +0 -19
  34. data/features/support/database.example.yml +0 -3
  35. data/features/support/db/fixtures/alphas.rb +0 -10
  36. data/features/support/db/fixtures/authors.rb +0 -1
  37. data/features/support/db/fixtures/betas.rb +0 -10
  38. data/features/support/db/fixtures/boxes.rb +0 -9
  39. data/features/support/db/fixtures/categories.rb +0 -1
  40. data/features/support/db/fixtures/cats.rb +0 -3
  41. data/features/support/db/fixtures/comments.rb +0 -24
  42. data/features/support/db/fixtures/developers.rb +0 -29
  43. data/features/support/db/fixtures/dogs.rb +0 -3
  44. data/features/support/db/fixtures/extensible_betas.rb +0 -10
  45. data/features/support/db/fixtures/foxes.rb +0 -3
  46. data/features/support/db/fixtures/gammas.rb +0 -10
  47. data/features/support/db/fixtures/people.rb +0 -1001
  48. data/features/support/db/fixtures/posts.rb +0 -6
  49. data/features/support/db/fixtures/robots.rb +0 -14
  50. data/features/support/db/fixtures/tags.rb +0 -27
  51. data/features/support/db/migrations/create_alphas.rb +0 -7
  52. data/features/support/db/migrations/create_animals.rb +0 -5
  53. data/features/support/db/migrations/create_authors.rb +0 -3
  54. data/features/support/db/migrations/create_authors_posts.rb +0 -6
  55. data/features/support/db/migrations/create_betas.rb +0 -5
  56. data/features/support/db/migrations/create_boxes.rb +0 -5
  57. data/features/support/db/migrations/create_categories.rb +0 -3
  58. data/features/support/db/migrations/create_comments.rb +0 -10
  59. data/features/support/db/migrations/create_developers.rb +0 -9
  60. data/features/support/db/migrations/create_extensible_betas.rb +0 -5
  61. data/features/support/db/migrations/create_gammas.rb +0 -3
  62. data/features/support/db/migrations/create_people.rb +0 -13
  63. data/features/support/db/migrations/create_posts.rb +0 -5
  64. data/features/support/db/migrations/create_robots.rb +0 -4
  65. data/features/support/db/migrations/create_taggings.rb +0 -5
  66. data/features/support/db/migrations/create_tags.rb +0 -4
  67. data/features/support/env.rb +0 -21
  68. data/features/support/lib/generic_delta_handler.rb +0 -8
  69. data/features/support/models/alpha.rb +0 -21
  70. data/features/support/models/animal.rb +0 -5
  71. data/features/support/models/author.rb +0 -3
  72. data/features/support/models/beta.rb +0 -8
  73. data/features/support/models/box.rb +0 -8
  74. data/features/support/models/cat.rb +0 -3
  75. data/features/support/models/category.rb +0 -4
  76. data/features/support/models/comment.rb +0 -10
  77. data/features/support/models/developer.rb +0 -16
  78. data/features/support/models/dog.rb +0 -3
  79. data/features/support/models/extensible_beta.rb +0 -9
  80. data/features/support/models/fox.rb +0 -5
  81. data/features/support/models/gamma.rb +0 -5
  82. data/features/support/models/person.rb +0 -23
  83. data/features/support/models/post.rb +0 -21
  84. data/features/support/models/robot.rb +0 -12
  85. data/features/support/models/tag.rb +0 -3
  86. data/features/support/models/tagging.rb +0 -4
@@ -1,11 +0,0 @@
1
- Feature: Direct Attributes
2
- In order to avoid unnecessary SQL queries
3
- I want to access attribute values from Sphinx's response
4
-
5
- Scenario: Accessing attribute values directly
6
- Given Sphinx is running
7
- And I am searching on posts
8
- When I search
9
- Then the first result should have a comments count of 9
10
-
11
-
@@ -1,13 +0,0 @@
1
- Feature: Generate excerpts for search results
2
-
3
- Scenario: Basic Excerpts Syntax
4
- Given Sphinx is running
5
- And I am searching on comments
6
- And I search for "lorem punto"
7
- Then the content excerpt of the first result is "de un sitio mientras que mira su diseño. El <span class="match">punto</span> de usar <span class="match">Lorem</span> Ipsum es que tiene una distribución"
8
-
9
- Scenario: Integrated Excerpts Syntax
10
- Given Sphinx is running
11
- And I am searching on comments
12
- And I search for "lorem"
13
- Then calling content on the first result excerpts object should return "de un sitio mientras que mira su diseño. El punto de usar <span class="match">Lorem</span> Ipsum es que tiene una distribución"
@@ -1,9 +0,0 @@
1
- Feature: Delayed Delta Indexing
2
- In order to have delta indexing on frequently-updated sites
3
- Developers
4
- Should be able to create their own handlers for delta indexing
5
-
6
- Scenario: I specify a valid handler for delta indexing
7
- Given Sphinx is running
8
- When I change the name of extensible beta one to eleven
9
- Then the generic delta handler should handle the delta indexing
@@ -1,82 +0,0 @@
1
- Feature: Search and browse models by their defined facets
2
-
3
- Scenario: Requesting facets
4
- Given Sphinx is running
5
- And I am searching on developers
6
- When I am requesting facet results
7
- Then I should have valid facet results
8
- And I should have 6 facets
9
- And I should have the facet State
10
- And I should have the facet Country
11
- And I should have the facet Age
12
- And I should have the facet City
13
- And I should have the facet Tag Ids
14
- And I should have the facet Tags
15
-
16
- Scenario: Requesting specific facets
17
- Given Sphinx is running
18
- And I am searching on developers
19
- When I am requesting facet results
20
- And I am requesting just the facet State
21
- Then I should have valid facet results
22
- And I should have 1 facet
23
- And I should have the facet State
24
- When I am requesting just the facets State and Age
25
- Then I should have valid facet results
26
- And I should have 2 facet
27
- And I should have the facet State
28
- And I should have the facet Age
29
-
30
- Scenario: Requseting float facets
31
- Given Sphinx is running
32
- And I am searching on alphas
33
- When I am requesting facet results
34
- Then I should have 1 facet
35
- And the Cost facet should have a 5.55 key
36
-
37
- Scenario: Requesting facet results
38
- Given Sphinx is running
39
- And I am searching on developers
40
- When I am requesting facet results
41
- And I drill down where Country is Australia
42
- Then I should get 11 results
43
-
44
- Scenario: Requesting facet results by multiple facets
45
- Given Sphinx is running
46
- And I am searching on developers
47
- When I am requesting facet results
48
- And I drill down where Country is Australia and Age is 30
49
- Then I should get 4 results
50
-
51
- Scenario: Requesting facets with classes included
52
- Given Sphinx is running
53
- And I am searching on developers
54
- When I am requesting facet results
55
- And I want classes included
56
- Then I should have valid facet results
57
- And I should have 7 facets
58
- And I should have the facet Class
59
-
60
- Scenario: Requesting MVA facets
61
- Given Sphinx is running
62
- And I am searching on developers
63
- When I am requesting facet results
64
- And I drill down where tag_ids includes the id of tag Australia
65
- Then I should get 11 results
66
- When I am requesting facet results
67
- And I drill down where tag_ids includes the id of tags Melbourne or Sydney
68
- Then I should get 5 results
69
-
70
- Scenario: Requesting MVA string facets
71
- Given Sphinx is running
72
- And I am searching on developers
73
- When I am requesting facet results
74
- Then the Tags facet should have an "Australia" key
75
- Then the Tags facet should have an "Melbourne" key
76
- Then the Tags facet should have an "Victoria" key
77
-
78
- Scenario: Requesting MVA facets from source queries
79
- Given Sphinx is running
80
- And I am searching on posts
81
- When I am requesting facet results
82
- Then the Comment Ids facet should have 9 keys
@@ -1,29 +0,0 @@
1
- Feature: Search and browse across models by their defined facets
2
-
3
- Scenario: Requesting facets across multiple models
4
- Given Sphinx is running
5
- When I am requesting facet results
6
- And I want all possible attributes
7
- Then I should have valid facet results
8
- And I should have 11 facets
9
- And I should have the facet Class
10
- And the Class facet should have a "Person" key
11
- And I should have the facet Gender
12
- And the Gender facet should have a "female" key
13
- And I should have the facet Country
14
- And I should have the facet Category Name
15
- And the Category Name facet should have a "hello" key with 10 hits
16
-
17
- Scenario: Requesting facets across models without class results
18
- Given Sphinx is running
19
- When I am requesting facet results
20
- And I want all possible attributes
21
- And I don't want classes included
22
- Then I should have 10 facets
23
- And I should not have the facet Class
24
-
25
- Scenario: Requesting facets common to all indexed models
26
- Given Sphinx is running
27
- When I am requesting facet results
28
- Then I should have the facet Class
29
- And I should have 1 facet
@@ -1,92 +0,0 @@
1
- Feature: Keeping Sphinx in line with model changes when requested
2
- In order to keep indexes as up to date as possible
3
- Thinking Sphinx
4
- Should return the expected results depending on whether delta indexes are used
5
-
6
- Scenario: Returning instance from old data if there is no delta
7
- Given Sphinx is running
8
- And I am searching on alphas
9
- When I search for two
10
- Then I should get 1 result
11
-
12
- When I change the name of alpha two to twelve
13
- And I wait for Sphinx to catch up
14
- And I search for two
15
- Then I should get 1 result
16
-
17
- Scenario: Not returing an instance from old data if there is a delta
18
- Given Sphinx is running
19
- And I am searching on betas
20
- When I search for two
21
- Then I should get 1 result
22
-
23
- When I change the name of beta two to twelve
24
- And I wait for Sphinx to catch up
25
- And I search for two
26
- Then I should get 0 results
27
-
28
- Scenario: Returning instance from new data if there is a delta
29
- Given Sphinx is running
30
- And I am searching on betas
31
- When I search for one
32
- Then I should get 1 result
33
-
34
- When I change the name of beta one to eleven
35
- And I wait for Sphinx to catch up
36
- And I search for one
37
- Then I should get 0 results
38
-
39
- When I search for eleven
40
- Then I should get 1 result
41
-
42
- Scenario: Returning new records if there's a delta
43
- Given Sphinx is running
44
- And I am searching on betas
45
- When I search for fifteen
46
- Then I should get 0 results
47
-
48
- When I create a new beta named fifteen
49
- And I wait for Sphinx to catch up
50
- And I search for fifteen
51
- Then I should get 1 result
52
-
53
- Scenario: Avoiding delta updates if there hasn't been changes
54
- Given Sphinx is running
55
- And I am searching on betas
56
- When I search for five
57
- Then I should get 1 result
58
-
59
- When I change the name of beta five to five
60
- And I wait for Sphinx to catch up
61
- And I search for five
62
- Then I should get 1 result
63
-
64
- When I search for the document id of beta five in the beta_core index
65
- Then it should exist if using Rails 2.1 or newer
66
- When I search for the document id of beta five in the beta_delta index
67
- Then it should not exist if using Rails 2.1 or newer
68
-
69
- Scenario: Handling edits with a delta when Sphinx isn't running
70
- Given Sphinx is running
71
- And I am searching on betas
72
- When I stop Sphinx
73
- And I change the name of beta six to sixteen
74
- And I start Sphinx
75
- And I search for sixteen
76
- Then I should get 1 result
77
-
78
- Scenario: Handling edits when updates are disabled
79
- Given Sphinx is running
80
- And updates are disabled
81
- And I am searching on betas
82
-
83
- When I search for seven
84
- Then I should get 1 result
85
-
86
- When I change the name of beta seven to seventeen
87
- And I wait for Sphinx to catch up
88
- And I search for seven
89
- Then I should get 1 result
90
-
91
- When I search for seventeen
92
- Then I should get 0 results
@@ -1,24 +0,0 @@
1
- Feature: Manually updating Sphinx indexes to handle uncaught deletions
2
- In order to keep indexes as up to date as possible
3
- Thinking Sphinx
4
- Should automatically update the indexes and retry the search if it gets a nil result
5
-
6
- Scenario: Changing retry_stale settings
7
- Given Sphinx is running
8
- And I am searching on gammas
9
- Then I should not get 0 results
10
-
11
- When I set retry stale to false
12
- And I set per page to 1
13
- And I order by "sphinx_internal_id ASC"
14
- And I destroy gamma one without callbacks
15
- Then I should get a single result of nil
16
-
17
- When I set retry stale to 1
18
- Then I should get a single gamma result with a name of two
19
-
20
- When I destroy gamma two without callbacks
21
- Then I should get a single result of nil
22
-
23
- When I set retry stale to true
24
- Then I should get a single gamma result with a name of three
@@ -1,20 +0,0 @@
1
- Feature: Searching across multiple model
2
- In order to use Thinking Sphinx's core functionality
3
- A developer
4
- Should be able to search on multiple models
5
-
6
- Scenario: Retrieving total result count
7
- Given Sphinx is running
8
- When I search for James
9
- And I am retrieving the result count
10
- Then I should get a value of 3
11
-
12
- Scenario: Confirming existance of a document id in a given index
13
- Given Sphinx is running
14
- When I search for the document id of alpha one in the alpha_core index
15
- Then it should exist
16
-
17
- Scenario: Retrieving results from multiple models
18
- Given Sphinx is running
19
- When I search for ten
20
- Then I should get 4 results
@@ -1,40 +0,0 @@
1
- Feature: Searching within a single index
2
- In order to use Thinking Sphinx's core functionality
3
- A developer
4
- Should be able to search on a single index
5
-
6
- Scenario: Searching with alternative index
7
- Given Sphinx is running
8
- And I am searching on alphas
9
- When I order by value
10
- And I use index alternative_core
11
- Then I should get 7 results
12
-
13
- Scenario: Searching with default index
14
- Given Sphinx is running
15
- And I am searching on alphas
16
- When I order by value
17
- And I use index alpha_core
18
- Then I should get 10 results
19
-
20
- Scenario: Searching without specified index
21
- Given Sphinx is running
22
- And I am searching on alphas
23
- When I order by value
24
- Then I should get 10 results
25
-
26
- Scenario: Deleting instances from the core index
27
- Given Sphinx is running
28
- And I am searching on alphas
29
-
30
- When I create a new alpha named eleven
31
- And I process the alpha_core index
32
- And I process the alternative_core index
33
- And I wait for Sphinx to catch up
34
- And I search for eleven
35
- Then I should get 1 result
36
-
37
- When I destroy alpha eleven
38
- And I wait for Sphinx to catch up
39
- And I search for eleven
40
- Then I should get 0 results
@@ -1,175 +0,0 @@
1
- Feature: Searching on a single model
2
- In order to use Thinking Sphinx's core functionality
3
- A developer
4
- Should be able to search on a single model
5
-
6
- Scenario: Searching using a basic query
7
- Given Sphinx is running
8
- And I am searching on people
9
- When I search for James
10
- Then I should get 3 results
11
-
12
- Scenario: Searching on a specific field
13
- Given Sphinx is running
14
- And I am searching on people
15
- When I search for James on first_name
16
- Then I should get 2 results
17
-
18
- Scenario: Searching on multiple fields
19
- Given Sphinx is running
20
- And I am searching on people
21
- When I search for James on first_name
22
- And I search for Chamberlain on last_name
23
- Then I should get 1 result
24
-
25
- Scenario: Searching on association content
26
- Given Sphinx is running
27
- And I am searching on posts
28
-
29
- When I search for "Waffles"
30
- Then I should get 1 result
31
-
32
- When I search for "Turtle"
33
- Then I should get 1 result
34
-
35
- Scenario: Searching with a filter
36
- Given Sphinx is running
37
- And I am searching on alphas
38
- When I filter by 1 on value
39
- Then I should get 1 result
40
-
41
- Scenario: Searching with multiple filters
42
- Given Sphinx is running
43
- And I am searching on boxes
44
- When I filter by 2 on width
45
- And I filter by 2 on length
46
- Then I should get 1 result
47
-
48
- Scenario: Searching with a ranged time filter
49
- Given Sphinx is running
50
- And I am searching on people
51
- When I filter by birthday between 1975 and 1976
52
- Then I should get 16 results
53
-
54
- Scenario: Searching to filter multiple values on an MVA
55
- Given Sphinx is running
56
- And I am searching on boxes
57
- When I filter by 11 and 12 on dimensions
58
- Then I should get 2 results
59
- When I clear existing filters
60
- And I filter by both 11 and 12 on dimensions
61
- Then I should get 1 result
62
-
63
- Scenario: Filtering on timestamp MVAs
64
- Given Sphinx is running
65
- And I am searching on posts
66
- When I filter by 978307200 on comments_created_at
67
- Then I should get 1 result
68
-
69
- Scenario: Searching by NULL/0 values in MVAs
70
- Given Sphinx is running
71
- And I am searching on boxes
72
- When I filter by 0 on dimensions
73
- Then I should get 1 result
74
-
75
- Given Sphinx is running
76
- And I am searching on developers
77
- When I clear existing filters
78
- And I filter by 0 on tag_ids
79
- Then I should get 1 result
80
-
81
- Scenario: Searching on a MVA configured as ranged_query
82
- Given Sphinx is running
83
- And I am searching on posts
84
- When I filter by 1 on comment_ids
85
- Then I should get 1 result
86
- When I clear existing filters
87
- And I filter by both 1 and 2 on comment_ids
88
- Then I should get 1 results
89
- When I clear existing filters
90
- And I filter by 10 on comment_ids
91
- Then I should get 0 results
92
-
93
- Scenario: Searching with ordering by attribute
94
- Given Sphinx is running
95
- And I am searching on alphas
96
- When I order by value
97
- Then I should get 10 results
98
- And the value of each result should indicate order
99
-
100
- Scenario: Searching with ordering on a sortable field
101
- Given Sphinx is running
102
- And I am searching on people
103
- And I order by first_name
104
- Then I should get 20 results
105
- And the first_name of each result should indicate order
106
-
107
- Scenario: Intepreting Sphinx Internal Identifiers
108
- Given Sphinx is running
109
- And I am searching on people
110
- Then I should get 20 results
111
- And each result id should match the corresponding sphinx internal id
112
-
113
- Scenario: Retrieving weightings
114
- Given Sphinx is running
115
- And I am searching on people
116
- When I search for "Ellie Ford"
117
- And I set match mode to any
118
- Then I can iterate by result and weighting
119
-
120
- Scenario: Retrieving group counts
121
- Given Sphinx is running
122
- And I am searching on people
123
- When I group results by the birthday attribute
124
- Then I can iterate by result and count
125
-
126
- Scenario: Retrieving group values
127
- Given Sphinx is running
128
- And I am searching on people
129
- When I group results by the birthday attribute
130
- Then I can iterate by result and group
131
-
132
- Scenario: Retrieving both group values and counts
133
- Given Sphinx is running
134
- And I am searching on people
135
- When I group results by the birthday attribute
136
- Then I can iterate by result and group and count
137
-
138
- Scenario: Searching for ids
139
- Given Sphinx is running
140
- And I am searching on people
141
- When I search for Ellie
142
- And I am searching for ids
143
- Then I should have an array of integers
144
-
145
- Scenario: Search results should match Sphinx's order
146
- Given Sphinx is running
147
- And I am searching on people
148
- When I search for Ellie
149
- And I order by "sphinx_internal_id DESC"
150
- Then searching for ids should match the record ids of the normal search results
151
-
152
- Scenario: Retrieving total result count when total is less than a page
153
- Given Sphinx is running
154
- And I am searching on people
155
- When I search for James
156
- And I am retrieving the result count
157
- Then I should get a value of 3
158
-
159
- Scenario: Retrieving total result count for more than a page
160
- Given Sphinx is running
161
- And I am searching on people
162
- When I am retrieving the result count
163
- Then I should get a value of 1000
164
-
165
- Scenario: Searching with Unicode Characters
166
- Given Sphinx is running
167
- And I am searching on people
168
- When I search for "José* "
169
- Then I should get 1 result
170
-
171
- Scenario: Searching by fields from HABTM joins
172
- Given Sphinx is running
173
- And I am searching on posts
174
- When I search for "Shakespeare"
175
- Then I should get 1 result