annotate sites/all/modules/custom/solrsearch/solrsearch.interface.inc @ 0:015d06b10d37 default tip

initial
author dwinter
date Wed, 31 Jul 2013 13:49:13 +0200
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
015d06b10d37 initial
dwinter
parents:
diff changeset
1 <?php
015d06b10d37 initial
dwinter
parents:
diff changeset
2
015d06b10d37 initial
dwinter
parents:
diff changeset
3 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
4 * The interface for all 'query' objects.
015d06b10d37 initial
dwinter
parents:
diff changeset
5 */
015d06b10d37 initial
dwinter
parents:
diff changeset
6 interface DrupalSolrQueryInterface {
015d06b10d37 initial
dwinter
parents:
diff changeset
7
015d06b10d37 initial
dwinter
parents:
diff changeset
8 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
9 * Get query name.
015d06b10d37 initial
dwinter
parents:
diff changeset
10 */
015d06b10d37 initial
dwinter
parents:
diff changeset
11 function getName();
015d06b10d37 initial
dwinter
parents:
diff changeset
12
015d06b10d37 initial
dwinter
parents:
diff changeset
13 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
14 * Get query searcher name (for facetapi, views, pages, etc).
015d06b10d37 initial
dwinter
parents:
diff changeset
15 */
015d06b10d37 initial
dwinter
parents:
diff changeset
16 function getSearcher();
015d06b10d37 initial
dwinter
parents:
diff changeset
17
015d06b10d37 initial
dwinter
parents:
diff changeset
18 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
19 * Get context values.
015d06b10d37 initial
dwinter
parents:
diff changeset
20 */
015d06b10d37 initial
dwinter
parents:
diff changeset
21 function getContext();
015d06b10d37 initial
dwinter
parents:
diff changeset
22
015d06b10d37 initial
dwinter
parents:
diff changeset
23 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
24 * Set context value.
015d06b10d37 initial
dwinter
parents:
diff changeset
25 */
015d06b10d37 initial
dwinter
parents:
diff changeset
26 function addContext(array $context);
015d06b10d37 initial
dwinter
parents:
diff changeset
27
015d06b10d37 initial
dwinter
parents:
diff changeset
28 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
29 * Returns all filters matching $name, if set; otherwise, returns all filters.
015d06b10d37 initial
dwinter
parents:
diff changeset
30 *
015d06b10d37 initial
dwinter
parents:
diff changeset
31 * @param string $name
015d06b10d37 initial
dwinter
parents:
diff changeset
32 * The facet field name to match. If NULL, all filters will be returned.
015d06b10d37 initial
dwinter
parents:
diff changeset
33 *
015d06b10d37 initial
dwinter
parents:
diff changeset
34 * @return array
015d06b10d37 initial
dwinter
parents:
diff changeset
35 * All matching filters.
015d06b10d37 initial
dwinter
parents:
diff changeset
36 */
015d06b10d37 initial
dwinter
parents:
diff changeset
37 function getFilters($name = NULL);
015d06b10d37 initial
dwinter
parents:
diff changeset
38
015d06b10d37 initial
dwinter
parents:
diff changeset
39 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
40 * Tests whether a filter is already present in the query.
015d06b10d37 initial
dwinter
parents:
diff changeset
41 *
015d06b10d37 initial
dwinter
parents:
diff changeset
42 * @param string $name
015d06b10d37 initial
dwinter
parents:
diff changeset
43 * The facet field name to check.
015d06b10d37 initial
dwinter
parents:
diff changeset
44 * @param string $value
015d06b10d37 initial
dwinter
parents:
diff changeset
45 * The facet value to check.
015d06b10d37 initial
dwinter
parents:
diff changeset
46 * @param boolean $exclude
015d06b10d37 initial
dwinter
parents:
diff changeset
47 * Optional, defaults to FALSE, must match the filter.
015d06b10d37 initial
dwinter
parents:
diff changeset
48 *
015d06b10d37 initial
dwinter
parents:
diff changeset
49 * @return boolean
015d06b10d37 initial
dwinter
parents:
diff changeset
50 * TRUE or FALSE.
015d06b10d37 initial
dwinter
parents:
diff changeset
51 */
015d06b10d37 initial
dwinter
parents:
diff changeset
52 function hasFilter($name, $value, $exclude = FALSE);
015d06b10d37 initial
dwinter
parents:
diff changeset
53
015d06b10d37 initial
dwinter
parents:
diff changeset
54 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
55 * Adds a filter to the query.
015d06b10d37 initial
dwinter
parents:
diff changeset
56 *
015d06b10d37 initial
dwinter
parents:
diff changeset
57 * @param string $name
015d06b10d37 initial
dwinter
parents:
diff changeset
58 * The facet field name.
015d06b10d37 initial
dwinter
parents:
diff changeset
59 * @param string $value
015d06b10d37 initial
dwinter
parents:
diff changeset
60 * The facet field value.
015d06b10d37 initial
dwinter
parents:
diff changeset
61 * @param boolean $exclude
015d06b10d37 initial
dwinter
parents:
diff changeset
62 * Set to TRUE to filter out documents matching $value.
015d06b10d37 initial
dwinter
parents:
diff changeset
63 * @param string $local
015d06b10d37 initial
dwinter
parents:
diff changeset
64 * Solr LocalParams.
015d06b10d37 initial
dwinter
parents:
diff changeset
65 *
015d06b10d37 initial
dwinter
parents:
diff changeset
66 * @return DrupalSolrQueryInterface
015d06b10d37 initial
dwinter
parents:
diff changeset
67 * The called object.
015d06b10d37 initial
dwinter
parents:
diff changeset
68 */
015d06b10d37 initial
dwinter
parents:
diff changeset
69 function addFilter($name, $value, $exclude = FALSE, $local = '');
015d06b10d37 initial
dwinter
parents:
diff changeset
70
015d06b10d37 initial
dwinter
parents:
diff changeset
71 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
72 * Removes a filter from the query.
015d06b10d37 initial
dwinter
parents:
diff changeset
73 *
015d06b10d37 initial
dwinter
parents:
diff changeset
74 * @param string $name
015d06b10d37 initial
dwinter
parents:
diff changeset
75 * The name of the facet field to remove.
015d06b10d37 initial
dwinter
parents:
diff changeset
76 * @param string $value
015d06b10d37 initial
dwinter
parents:
diff changeset
77 * The value of the facet field to remove. If NULL, all filters matching
015d06b10d37 initial
dwinter
parents:
diff changeset
78 * $name are removed.
015d06b10d37 initial
dwinter
parents:
diff changeset
79 * @param boolean $exclude
015d06b10d37 initial
dwinter
parents:
diff changeset
80 * If $value is not NULL, only filters matching both $value and $exclude are
015d06b10d37 initial
dwinter
parents:
diff changeset
81 * removed. Ignored if $value is NULL.
015d06b10d37 initial
dwinter
parents:
diff changeset
82 *
015d06b10d37 initial
dwinter
parents:
diff changeset
83 * @return DrupalSolrQueryInterface
015d06b10d37 initial
dwinter
parents:
diff changeset
84 * The called object.
015d06b10d37 initial
dwinter
parents:
diff changeset
85 */
015d06b10d37 initial
dwinter
parents:
diff changeset
86 function removeFilter($name, $value = NULL, $exclude = FALSE);
015d06b10d37 initial
dwinter
parents:
diff changeset
87
015d06b10d37 initial
dwinter
parents:
diff changeset
88 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
89 * Returns all subqueries to the query.
015d06b10d37 initial
dwinter
parents:
diff changeset
90 *
015d06b10d37 initial
dwinter
parents:
diff changeset
91 * @return array
015d06b10d37 initial
dwinter
parents:
diff changeset
92 * All subqueries to the query.
015d06b10d37 initial
dwinter
parents:
diff changeset
93 */
015d06b10d37 initial
dwinter
parents:
diff changeset
94 function getFilterSubQueries();
015d06b10d37 initial
dwinter
parents:
diff changeset
95
015d06b10d37 initial
dwinter
parents:
diff changeset
96 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
97 * Adds a subquery to the query.
015d06b10d37 initial
dwinter
parents:
diff changeset
98 *
015d06b10d37 initial
dwinter
parents:
diff changeset
99 * @param SolrFilterSubQuery $query
015d06b10d37 initial
dwinter
parents:
diff changeset
100 * The query to add to the orginal query - may have keywords or filters.
015d06b10d37 initial
dwinter
parents:
diff changeset
101 * @param string $fq_operator
015d06b10d37 initial
dwinter
parents:
diff changeset
102 * The operator to use within the filter part of the subquery
015d06b10d37 initial
dwinter
parents:
diff changeset
103 * @param string $q_operator
015d06b10d37 initial
dwinter
parents:
diff changeset
104 * The operator to use in joining the subquery to the main keywords. Note:
015d06b10d37 initial
dwinter
parents:
diff changeset
105 * this is unlikely to work with the Dismax handler when the main query is
015d06b10d37 initial
dwinter
parents:
diff changeset
106 * only keywords.
015d06b10d37 initial
dwinter
parents:
diff changeset
107 *
015d06b10d37 initial
dwinter
parents:
diff changeset
108 * @return DrupalSolrQueryInterface
015d06b10d37 initial
dwinter
parents:
diff changeset
109 * The called object.
015d06b10d37 initial
dwinter
parents:
diff changeset
110 */
015d06b10d37 initial
dwinter
parents:
diff changeset
111 function addFilterSubQuery(SolrFilterSubQuery $query);
015d06b10d37 initial
dwinter
parents:
diff changeset
112
015d06b10d37 initial
dwinter
parents:
diff changeset
113 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
114 * Removes a specific subquery.
015d06b10d37 initial
dwinter
parents:
diff changeset
115 *
015d06b10d37 initial
dwinter
parents:
diff changeset
116 * @param DrupalSolrQueryInterface $query
015d06b10d37 initial
dwinter
parents:
diff changeset
117 * The query to remove.
015d06b10d37 initial
dwinter
parents:
diff changeset
118 *
015d06b10d37 initial
dwinter
parents:
diff changeset
119 * @return DrupalSolrQueryInterface
015d06b10d37 initial
dwinter
parents:
diff changeset
120 * The called object.
015d06b10d37 initial
dwinter
parents:
diff changeset
121 */
015d06b10d37 initial
dwinter
parents:
diff changeset
122 function removeFilterSubQuery(SolrFilterSubQuery $query);
015d06b10d37 initial
dwinter
parents:
diff changeset
123
015d06b10d37 initial
dwinter
parents:
diff changeset
124 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
125 * Removes all subqueries.
015d06b10d37 initial
dwinter
parents:
diff changeset
126 *
015d06b10d37 initial
dwinter
parents:
diff changeset
127 * @return DrupalSolrQueryInterface
015d06b10d37 initial
dwinter
parents:
diff changeset
128 * The called object.
015d06b10d37 initial
dwinter
parents:
diff changeset
129 */
015d06b10d37 initial
dwinter
parents:
diff changeset
130 function removeFilterSubQueries();
015d06b10d37 initial
dwinter
parents:
diff changeset
131
015d06b10d37 initial
dwinter
parents:
diff changeset
132 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
133 * Transforms a single filter in a form suitable for use in a Solr query.
015d06b10d37 initial
dwinter
parents:
diff changeset
134 *
015d06b10d37 initial
dwinter
parents:
diff changeset
135 * @param array $filter
015d06b10d37 initial
dwinter
parents:
diff changeset
136 * A filter as an array with the keys '#name', for the facet field name,
015d06b10d37 initial
dwinter
parents:
diff changeset
137 * '#value', for the facet field value, '#local', for Solr LocalParams, and
015d06b10d37 initial
dwinter
parents:
diff changeset
138 '#exclude' set to TRUE if it is an exclusion filter.
015d06b10d37 initial
dwinter
parents:
diff changeset
139 *
015d06b10d37 initial
dwinter
parents:
diff changeset
140 * @return string
015d06b10d37 initial
dwinter
parents:
diff changeset
141 * A Solr fq parameter value.
015d06b10d37 initial
dwinter
parents:
diff changeset
142 */
015d06b10d37 initial
dwinter
parents:
diff changeset
143 function makeFilterQuery(array $filter);
015d06b10d37 initial
dwinter
parents:
diff changeset
144
015d06b10d37 initial
dwinter
parents:
diff changeset
145 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
146 * Gets the value of a parameter.
015d06b10d37 initial
dwinter
parents:
diff changeset
147 *
015d06b10d37 initial
dwinter
parents:
diff changeset
148 * @param string $name
015d06b10d37 initial
dwinter
parents:
diff changeset
149 * The parameter name.
015d06b10d37 initial
dwinter
parents:
diff changeset
150 *
015d06b10d37 initial
dwinter
parents:
diff changeset
151 * @return
015d06b10d37 initial
dwinter
parents:
diff changeset
152 * The value of the parameter.
015d06b10d37 initial
dwinter
parents:
diff changeset
153 */
015d06b10d37 initial
dwinter
parents:
diff changeset
154 function getParam($name);
015d06b10d37 initial
dwinter
parents:
diff changeset
155
015d06b10d37 initial
dwinter
parents:
diff changeset
156 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
157 * Gets all parameters in normalized form.
015d06b10d37 initial
dwinter
parents:
diff changeset
158 *
015d06b10d37 initial
dwinter
parents:
diff changeset
159 * @return array
015d06b10d37 initial
dwinter
parents:
diff changeset
160 * All parameters as key-value pairs.
015d06b10d37 initial
dwinter
parents:
diff changeset
161 */
015d06b10d37 initial
dwinter
parents:
diff changeset
162 function getParams();
015d06b10d37 initial
dwinter
parents:
diff changeset
163
015d06b10d37 initial
dwinter
parents:
diff changeset
164 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
165 * Gets parameters in a form suitable for use in a Solr query.
015d06b10d37 initial
dwinter
parents:
diff changeset
166 *
015d06b10d37 initial
dwinter
parents:
diff changeset
167 * @return array
015d06b10d37 initial
dwinter
parents:
diff changeset
168 * All parameters as key-value pairs, where values have been transformed
015d06b10d37 initial
dwinter
parents:
diff changeset
169 * into Solr parameter values.
015d06b10d37 initial
dwinter
parents:
diff changeset
170 */
015d06b10d37 initial
dwinter
parents:
diff changeset
171 function getSolrParams();
015d06b10d37 initial
dwinter
parents:
diff changeset
172
015d06b10d37 initial
dwinter
parents:
diff changeset
173 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
174 * Adds a param to be sent when running the Solr search.
015d06b10d37 initial
dwinter
parents:
diff changeset
175 *
015d06b10d37 initial
dwinter
parents:
diff changeset
176 * If the param is single-valued, this will replace rather than add the value.
015d06b10d37 initial
dwinter
parents:
diff changeset
177 *
015d06b10d37 initial
dwinter
parents:
diff changeset
178 * @param string $name
015d06b10d37 initial
dwinter
parents:
diff changeset
179 * A Solr param name, e.g. 'q' or 'fl'.
015d06b10d37 initial
dwinter
parents:
diff changeset
180 * @param $value
015d06b10d37 initial
dwinter
parents:
diff changeset
181 * A Solr param value: an array of values, or a string for a single value.
015d06b10d37 initial
dwinter
parents:
diff changeset
182 *
015d06b10d37 initial
dwinter
parents:
diff changeset
183 * @return DrupalSolrQueryInterface
015d06b10d37 initial
dwinter
parents:
diff changeset
184 * The called object.
015d06b10d37 initial
dwinter
parents:
diff changeset
185 */
015d06b10d37 initial
dwinter
parents:
diff changeset
186 function addParam($name, $value);
015d06b10d37 initial
dwinter
parents:
diff changeset
187
015d06b10d37 initial
dwinter
parents:
diff changeset
188 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
189 * Adds multiple params to be sent when running the Solr search.
015d06b10d37 initial
dwinter
parents:
diff changeset
190 *
015d06b10d37 initial
dwinter
parents:
diff changeset
191 * If the param is single-valued, this will replace rather than add the value.
015d06b10d37 initial
dwinter
parents:
diff changeset
192 *
015d06b10d37 initial
dwinter
parents:
diff changeset
193 * @param $params
015d06b10d37 initial
dwinter
parents:
diff changeset
194 * An array where the keys are param names, and the values may be strings or
015d06b10d37 initial
dwinter
parents:
diff changeset
195 * arrays of strings.
015d06b10d37 initial
dwinter
parents:
diff changeset
196 *
015d06b10d37 initial
dwinter
parents:
diff changeset
197 * @return DrupalSolrQueryInterface
015d06b10d37 initial
dwinter
parents:
diff changeset
198 * The called object.
015d06b10d37 initial
dwinter
parents:
diff changeset
199 */
015d06b10d37 initial
dwinter
parents:
diff changeset
200 function addParams(array $params);
015d06b10d37 initial
dwinter
parents:
diff changeset
201
015d06b10d37 initial
dwinter
parents:
diff changeset
202 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
203 * Removes all values for one Solr param.
015d06b10d37 initial
dwinter
parents:
diff changeset
204 *
015d06b10d37 initial
dwinter
parents:
diff changeset
205 * @param string $name
015d06b10d37 initial
dwinter
parents:
diff changeset
206 * A Solr param name, e.g. 'q' or 'fl'.
015d06b10d37 initial
dwinter
parents:
diff changeset
207 *
015d06b10d37 initial
dwinter
parents:
diff changeset
208 * @return DrupalSolrQueryInterface
015d06b10d37 initial
dwinter
parents:
diff changeset
209 * The called object.
015d06b10d37 initial
dwinter
parents:
diff changeset
210 */
015d06b10d37 initial
dwinter
parents:
diff changeset
211 function removeParam($name);
015d06b10d37 initial
dwinter
parents:
diff changeset
212
015d06b10d37 initial
dwinter
parents:
diff changeset
213 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
214 * Replaces a param to be sent when running the Solr search.
015d06b10d37 initial
dwinter
parents:
diff changeset
215 *
015d06b10d37 initial
dwinter
parents:
diff changeset
216 * Basically a shortcut for removeParam() plus addParam().
015d06b10d37 initial
dwinter
parents:
diff changeset
217 *
015d06b10d37 initial
dwinter
parents:
diff changeset
218 * @param string $name
015d06b10d37 initial
dwinter
parents:
diff changeset
219 * A Solr param name, e.g. 'q' or 'fl'.
015d06b10d37 initial
dwinter
parents:
diff changeset
220 * @param $value
015d06b10d37 initial
dwinter
parents:
diff changeset
221 * A Solr param value: an array of values, or a string for a single value.
015d06b10d37 initial
dwinter
parents:
diff changeset
222 *
015d06b10d37 initial
dwinter
parents:
diff changeset
223 * @return DrupalSolrQueryInterface
015d06b10d37 initial
dwinter
parents:
diff changeset
224 * The called object.
015d06b10d37 initial
dwinter
parents:
diff changeset
225 */
015d06b10d37 initial
dwinter
parents:
diff changeset
226 function replaceParam($name, $value);
015d06b10d37 initial
dwinter
parents:
diff changeset
227
015d06b10d37 initial
dwinter
parents:
diff changeset
228 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
229 * Handles aliases for field to make nicer URLs.
015d06b10d37 initial
dwinter
parents:
diff changeset
230 *
015d06b10d37 initial
dwinter
parents:
diff changeset
231 * @param $field_map
015d06b10d37 initial
dwinter
parents:
diff changeset
232 * An array keyed with real Solr index field names with the alias as value.
015d06b10d37 initial
dwinter
parents:
diff changeset
233 *
015d06b10d37 initial
dwinter
parents:
diff changeset
234 * @return DrupalSolrQueryInterface
015d06b10d37 initial
dwinter
parents:
diff changeset
235 * The called object.
015d06b10d37 initial
dwinter
parents:
diff changeset
236 */
015d06b10d37 initial
dwinter
parents:
diff changeset
237 function addFieldAliases($field_map);
015d06b10d37 initial
dwinter
parents:
diff changeset
238
015d06b10d37 initial
dwinter
parents:
diff changeset
239 function getFieldAliases();
015d06b10d37 initial
dwinter
parents:
diff changeset
240
015d06b10d37 initial
dwinter
parents:
diff changeset
241 function clearFieldAliases();
015d06b10d37 initial
dwinter
parents:
diff changeset
242
015d06b10d37 initial
dwinter
parents:
diff changeset
243 function getAvailableSorts();
015d06b10d37 initial
dwinter
parents:
diff changeset
244
015d06b10d37 initial
dwinter
parents:
diff changeset
245 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
246 * Adds an available sort.
015d06b10d37 initial
dwinter
parents:
diff changeset
247 *
015d06b10d37 initial
dwinter
parents:
diff changeset
248 * @param string $name
015d06b10d37 initial
dwinter
parents:
diff changeset
249 * The name of the field in the Solr index to sort on.
015d06b10d37 initial
dwinter
parents:
diff changeset
250 * @param array $sort
015d06b10d37 initial
dwinter
parents:
diff changeset
251 * An array with the keys 'title', for the human name of the sort, and
015d06b10d37 initial
dwinter
parents:
diff changeset
252 * 'default', for the default sort direction ('asc' or 'desc').
015d06b10d37 initial
dwinter
parents:
diff changeset
253 *
015d06b10d37 initial
dwinter
parents:
diff changeset
254 * @return DrupalSolrQueryInterface
015d06b10d37 initial
dwinter
parents:
diff changeset
255 * The called object.
015d06b10d37 initial
dwinter
parents:
diff changeset
256 */
015d06b10d37 initial
dwinter
parents:
diff changeset
257 function setAvailableSort($name, $sort);
015d06b10d37 initial
dwinter
parents:
diff changeset
258
015d06b10d37 initial
dwinter
parents:
diff changeset
259 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
260 * Removes an available sort.
015d06b10d37 initial
dwinter
parents:
diff changeset
261 *
015d06b10d37 initial
dwinter
parents:
diff changeset
262 * @param string $name
015d06b10d37 initial
dwinter
parents:
diff changeset
263 * The name of the field in the Solr index to sort on.
015d06b10d37 initial
dwinter
parents:
diff changeset
264 *
015d06b10d37 initial
dwinter
parents:
diff changeset
265 * @return DrupalSolrQueryInterface
015d06b10d37 initial
dwinter
parents:
diff changeset
266 * The called object.
015d06b10d37 initial
dwinter
parents:
diff changeset
267 */
015d06b10d37 initial
dwinter
parents:
diff changeset
268 function removeAvailableSort($name);
015d06b10d37 initial
dwinter
parents:
diff changeset
269
015d06b10d37 initial
dwinter
parents:
diff changeset
270 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
271 * Gets the current sort.
015d06b10d37 initial
dwinter
parents:
diff changeset
272 *
015d06b10d37 initial
dwinter
parents:
diff changeset
273 * @return array
015d06b10d37 initial
dwinter
parents:
diff changeset
274 * The current sort as an array with the keys '#name', for the name of
015d06b10d37 initial
dwinter
parents:
diff changeset
275 * the field, and '#direction', for the sort direction ('asc' or 'desc').
015d06b10d37 initial
dwinter
parents:
diff changeset
276 */
015d06b10d37 initial
dwinter
parents:
diff changeset
277 function getSolrsort();
015d06b10d37 initial
dwinter
parents:
diff changeset
278
015d06b10d37 initial
dwinter
parents:
diff changeset
279 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
280 * Sets the sort.
015d06b10d37 initial
dwinter
parents:
diff changeset
281 *
015d06b10d37 initial
dwinter
parents:
diff changeset
282 * @param string $field
015d06b10d37 initial
dwinter
parents:
diff changeset
283 * The name of the field in the Solr index to sort on.
015d06b10d37 initial
dwinter
parents:
diff changeset
284 * @param string $direction
015d06b10d37 initial
dwinter
parents:
diff changeset
285 * 'asc' or 'desc'
015d06b10d37 initial
dwinter
parents:
diff changeset
286 *
015d06b10d37 initial
dwinter
parents:
diff changeset
287 * @return DrupalSolrQueryInterface
015d06b10d37 initial
dwinter
parents:
diff changeset
288 * The called object.
015d06b10d37 initial
dwinter
parents:
diff changeset
289 */
015d06b10d37 initial
dwinter
parents:
diff changeset
290 function setSolrsort($name, $direction);
015d06b10d37 initial
dwinter
parents:
diff changeset
291
015d06b10d37 initial
dwinter
parents:
diff changeset
292 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
293 * Returns an array representing the URL query string for the current sort.
015d06b10d37 initial
dwinter
parents:
diff changeset
294 *
015d06b10d37 initial
dwinter
parents:
diff changeset
295 * @return array
015d06b10d37 initial
dwinter
parents:
diff changeset
296 * The URL query string for the current sort.
015d06b10d37 initial
dwinter
parents:
diff changeset
297 */
015d06b10d37 initial
dwinter
parents:
diff changeset
298 function getSolrsortUrlQuery();
015d06b10d37 initial
dwinter
parents:
diff changeset
299
015d06b10d37 initial
dwinter
parents:
diff changeset
300 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
301 * Returns the search path (including the search keywords).
015d06b10d37 initial
dwinter
parents:
diff changeset
302 *
015d06b10d37 initial
dwinter
parents:
diff changeset
303 * @param string $new_keywords
015d06b10d37 initial
dwinter
parents:
diff changeset
304 * Optional. When set, this string overrides the query's current keywords.
015d06b10d37 initial
dwinter
parents:
diff changeset
305 *
015d06b10d37 initial
dwinter
parents:
diff changeset
306 * @return string
015d06b10d37 initial
dwinter
parents:
diff changeset
307 * The search path.
015d06b10d37 initial
dwinter
parents:
diff changeset
308 */
015d06b10d37 initial
dwinter
parents:
diff changeset
309 function getPath($new_keywords = NULL);
015d06b10d37 initial
dwinter
parents:
diff changeset
310
015d06b10d37 initial
dwinter
parents:
diff changeset
311 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
312 * Sends the search request to Solr, unless $query->abort_search is TRUE.
015d06b10d37 initial
dwinter
parents:
diff changeset
313 *
015d06b10d37 initial
dwinter
parents:
diff changeset
314 * @param string $keys
015d06b10d37 initial
dwinter
parents:
diff changeset
315 * The search keys.
015d06b10d37 initial
dwinter
parents:
diff changeset
316 *
015d06b10d37 initial
dwinter
parents:
diff changeset
317 * @return
015d06b10d37 initial
dwinter
parents:
diff changeset
318 * A stdClass response object.
015d06b10d37 initial
dwinter
parents:
diff changeset
319 */
015d06b10d37 initial
dwinter
parents:
diff changeset
320 function search($keys = NULL);
015d06b10d37 initial
dwinter
parents:
diff changeset
321
015d06b10d37 initial
dwinter
parents:
diff changeset
322 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
323 * Calls a method, without arguments, on the Solr object with which the query
015d06b10d37 initial
dwinter
parents:
diff changeset
324 * object was initialized.
015d06b10d37 initial
dwinter
parents:
diff changeset
325 *
015d06b10d37 initial
dwinter
parents:
diff changeset
326 * @param string $method
015d06b10d37 initial
dwinter
parents:
diff changeset
327 * The method to call on the Solr object.
015d06b10d37 initial
dwinter
parents:
diff changeset
328 *
015d06b10d37 initial
dwinter
parents:
diff changeset
329 * @return
015d06b10d37 initial
dwinter
parents:
diff changeset
330 * Any method return.
015d06b10d37 initial
dwinter
parents:
diff changeset
331 */
015d06b10d37 initial
dwinter
parents:
diff changeset
332 function solr($method);
015d06b10d37 initial
dwinter
parents:
diff changeset
333 }
015d06b10d37 initial
dwinter
parents:
diff changeset
334
015d06b10d37 initial
dwinter
parents:
diff changeset
335 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
336 * The interface for all 'Service' objects.
015d06b10d37 initial
dwinter
parents:
diff changeset
337 */
015d06b10d37 initial
dwinter
parents:
diff changeset
338 interface DrupalApacheSolrServiceInterface {
015d06b10d37 initial
dwinter
parents:
diff changeset
339 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
340 * Call the /admin/ping servlet, to test the connection to the server.
015d06b10d37 initial
dwinter
parents:
diff changeset
341 *
015d06b10d37 initial
dwinter
parents:
diff changeset
342 * @param $timeout
015d06b10d37 initial
dwinter
parents:
diff changeset
343 * maximum time to wait for ping in seconds, -1 for unlimited (default 2).
015d06b10d37 initial
dwinter
parents:
diff changeset
344 * @return
015d06b10d37 initial
dwinter
parents:
diff changeset
345 * (float) seconds taken to ping the server, FALSE if timeout occurs.
015d06b10d37 initial
dwinter
parents:
diff changeset
346 */
015d06b10d37 initial
dwinter
parents:
diff changeset
347 function ping($timeout = 2);
015d06b10d37 initial
dwinter
parents:
diff changeset
348
015d06b10d37 initial
dwinter
parents:
diff changeset
349 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
350 * Get information about the Solr Core.
015d06b10d37 initial
dwinter
parents:
diff changeset
351 *
015d06b10d37 initial
dwinter
parents:
diff changeset
352 * @return
015d06b10d37 initial
dwinter
parents:
diff changeset
353 * (string) system info encoded in json
015d06b10d37 initial
dwinter
parents:
diff changeset
354 */
015d06b10d37 initial
dwinter
parents:
diff changeset
355 function getSystemInfo();
015d06b10d37 initial
dwinter
parents:
diff changeset
356
015d06b10d37 initial
dwinter
parents:
diff changeset
357 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
358 * Get just the field meta-data about the index.
015d06b10d37 initial
dwinter
parents:
diff changeset
359 */
015d06b10d37 initial
dwinter
parents:
diff changeset
360 function getFields($num_terms = 0);
015d06b10d37 initial
dwinter
parents:
diff changeset
361
015d06b10d37 initial
dwinter
parents:
diff changeset
362 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
363 * Get meta-data about the index.
015d06b10d37 initial
dwinter
parents:
diff changeset
364 */
015d06b10d37 initial
dwinter
parents:
diff changeset
365 function getLuke($num_terms = 0);
015d06b10d37 initial
dwinter
parents:
diff changeset
366
015d06b10d37 initial
dwinter
parents:
diff changeset
367 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
368 * Get information about the Solr Core.
015d06b10d37 initial
dwinter
parents:
diff changeset
369 *
015d06b10d37 initial
dwinter
parents:
diff changeset
370 * Returns a Simple XMl document
015d06b10d37 initial
dwinter
parents:
diff changeset
371 */
015d06b10d37 initial
dwinter
parents:
diff changeset
372 function getStats();
015d06b10d37 initial
dwinter
parents:
diff changeset
373
015d06b10d37 initial
dwinter
parents:
diff changeset
374 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
375 * Get summary information about the Solr Core.
015d06b10d37 initial
dwinter
parents:
diff changeset
376 */
015d06b10d37 initial
dwinter
parents:
diff changeset
377 function getStatsSummary();
015d06b10d37 initial
dwinter
parents:
diff changeset
378
015d06b10d37 initial
dwinter
parents:
diff changeset
379 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
380 * Clear cached Solr data.
015d06b10d37 initial
dwinter
parents:
diff changeset
381 */
015d06b10d37 initial
dwinter
parents:
diff changeset
382 function clearCache();
015d06b10d37 initial
dwinter
parents:
diff changeset
383
015d06b10d37 initial
dwinter
parents:
diff changeset
384 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
385 * Constructor
015d06b10d37 initial
dwinter
parents:
diff changeset
386 *
015d06b10d37 initial
dwinter
parents:
diff changeset
387 * @param $url
015d06b10d37 initial
dwinter
parents:
diff changeset
388 * The URL to the Solr server, possibly including a core name. E.g. http://localhost:8983/solr/
015d06b10d37 initial
dwinter
parents:
diff changeset
389 * or https://search.example.com/solr/core99/
015d06b10d37 initial
dwinter
parents:
diff changeset
390 * @param $env_id
015d06b10d37 initial
dwinter
parents:
diff changeset
391 * The machine name of a corresponding saved configuration used for loading
015d06b10d37 initial
dwinter
parents:
diff changeset
392 * data like which facets are enabled.
015d06b10d37 initial
dwinter
parents:
diff changeset
393 */
015d06b10d37 initial
dwinter
parents:
diff changeset
394 function __construct($url, $env_id = NULL);
015d06b10d37 initial
dwinter
parents:
diff changeset
395
015d06b10d37 initial
dwinter
parents:
diff changeset
396 function getId();
015d06b10d37 initial
dwinter
parents:
diff changeset
397
015d06b10d37 initial
dwinter
parents:
diff changeset
398 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
399 * Make a request to a servlet (a path) that's not a standard path.
015d06b10d37 initial
dwinter
parents:
diff changeset
400 *
015d06b10d37 initial
dwinter
parents:
diff changeset
401 * @param string $servlet
015d06b10d37 initial
dwinter
parents:
diff changeset
402 * A path to be added to the base Solr path. e.g. 'extract/tika'
015d06b10d37 initial
dwinter
parents:
diff changeset
403 *
015d06b10d37 initial
dwinter
parents:
diff changeset
404 * @param array $params
015d06b10d37 initial
dwinter
parents:
diff changeset
405 * Any request parameters when constructing the URL.
015d06b10d37 initial
dwinter
parents:
diff changeset
406 *
015d06b10d37 initial
dwinter
parents:
diff changeset
407 * @param array $options
015d06b10d37 initial
dwinter
parents:
diff changeset
408 * @see drupal_http_request() $options.
015d06b10d37 initial
dwinter
parents:
diff changeset
409 *
015d06b10d37 initial
dwinter
parents:
diff changeset
410 * @return
015d06b10d37 initial
dwinter
parents:
diff changeset
411 * response object
015d06b10d37 initial
dwinter
parents:
diff changeset
412 *
015d06b10d37 initial
dwinter
parents:
diff changeset
413 * @thows Exception
015d06b10d37 initial
dwinter
parents:
diff changeset
414 */
015d06b10d37 initial
dwinter
parents:
diff changeset
415 function makeServletRequest($servlet, $params = array(), $options = array());
015d06b10d37 initial
dwinter
parents:
diff changeset
416
015d06b10d37 initial
dwinter
parents:
diff changeset
417 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
418 * Get the Solr url
015d06b10d37 initial
dwinter
parents:
diff changeset
419 *
015d06b10d37 initial
dwinter
parents:
diff changeset
420 * @return string
015d06b10d37 initial
dwinter
parents:
diff changeset
421 */
015d06b10d37 initial
dwinter
parents:
diff changeset
422 function getUrl();
015d06b10d37 initial
dwinter
parents:
diff changeset
423
015d06b10d37 initial
dwinter
parents:
diff changeset
424 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
425 * Set the Solr url.
015d06b10d37 initial
dwinter
parents:
diff changeset
426 *
015d06b10d37 initial
dwinter
parents:
diff changeset
427 * @param $url
015d06b10d37 initial
dwinter
parents:
diff changeset
428 *
015d06b10d37 initial
dwinter
parents:
diff changeset
429 * @return $this
015d06b10d37 initial
dwinter
parents:
diff changeset
430 */
015d06b10d37 initial
dwinter
parents:
diff changeset
431 function setUrl($url);
015d06b10d37 initial
dwinter
parents:
diff changeset
432
015d06b10d37 initial
dwinter
parents:
diff changeset
433 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
434 * Raw update Method. Takes a raw post body and sends it to the update service. Post body
015d06b10d37 initial
dwinter
parents:
diff changeset
435 * should be a complete and well formed xml document.
015d06b10d37 initial
dwinter
parents:
diff changeset
436 *
015d06b10d37 initial
dwinter
parents:
diff changeset
437 * @param string $rawPost
015d06b10d37 initial
dwinter
parents:
diff changeset
438 * @param float $timeout Maximum expected duration (in seconds)
015d06b10d37 initial
dwinter
parents:
diff changeset
439 *
015d06b10d37 initial
dwinter
parents:
diff changeset
440 * @return response object
015d06b10d37 initial
dwinter
parents:
diff changeset
441 *
015d06b10d37 initial
dwinter
parents:
diff changeset
442 * @throws Exception If an error occurs during the service call
015d06b10d37 initial
dwinter
parents:
diff changeset
443 */
015d06b10d37 initial
dwinter
parents:
diff changeset
444 function update($rawPost, $timeout = FALSE);
015d06b10d37 initial
dwinter
parents:
diff changeset
445
015d06b10d37 initial
dwinter
parents:
diff changeset
446 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
447 * Add an array of Solr Documents to the index all at once
015d06b10d37 initial
dwinter
parents:
diff changeset
448 *
015d06b10d37 initial
dwinter
parents:
diff changeset
449 * @param array $documents Should be an array of ApacheSolrDocument instances
015d06b10d37 initial
dwinter
parents:
diff changeset
450 * @param boolean $allowDups
015d06b10d37 initial
dwinter
parents:
diff changeset
451 * @param boolean $overwritePending
015d06b10d37 initial
dwinter
parents:
diff changeset
452 * @param boolean $overwriteCommitted
015d06b10d37 initial
dwinter
parents:
diff changeset
453 *
015d06b10d37 initial
dwinter
parents:
diff changeset
454 * @return response objecte
015d06b10d37 initial
dwinter
parents:
diff changeset
455 *
015d06b10d37 initial
dwinter
parents:
diff changeset
456 * @throws Exception If an error occurs during the service call
015d06b10d37 initial
dwinter
parents:
diff changeset
457 */
015d06b10d37 initial
dwinter
parents:
diff changeset
458 function addDocuments($documents, $overwrite = NULL, $commitWithin = NULL);
015d06b10d37 initial
dwinter
parents:
diff changeset
459
015d06b10d37 initial
dwinter
parents:
diff changeset
460 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
461 * Send a commit command. Will be synchronous unless both wait parameters are set to false.
015d06b10d37 initial
dwinter
parents:
diff changeset
462 *
015d06b10d37 initial
dwinter
parents:
diff changeset
463 * @param boolean $optimize Defaults to true
015d06b10d37 initial
dwinter
parents:
diff changeset
464 * @param boolean $waitFlush Defaults to true
015d06b10d37 initial
dwinter
parents:
diff changeset
465 * @param boolean $waitSearcher Defaults to true
015d06b10d37 initial
dwinter
parents:
diff changeset
466 * @param float $timeout Maximum expected duration (in seconds) of the commit operation on the server (otherwise, will throw a communication exception). Defaults to 1 hour
015d06b10d37 initial
dwinter
parents:
diff changeset
467 *
015d06b10d37 initial
dwinter
parents:
diff changeset
468 * @return response object
015d06b10d37 initial
dwinter
parents:
diff changeset
469 *
015d06b10d37 initial
dwinter
parents:
diff changeset
470 * @throws Exception If an error occurs during the service call
015d06b10d37 initial
dwinter
parents:
diff changeset
471 */
015d06b10d37 initial
dwinter
parents:
diff changeset
472 function commit($optimize = TRUE, $waitFlush = TRUE, $waitSearcher = TRUE, $timeout = 3600);
015d06b10d37 initial
dwinter
parents:
diff changeset
473
015d06b10d37 initial
dwinter
parents:
diff changeset
474 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
475 * Create a delete document based on document ID
015d06b10d37 initial
dwinter
parents:
diff changeset
476 *
015d06b10d37 initial
dwinter
parents:
diff changeset
477 * @param string $id Expected to be utf-8 encoded
015d06b10d37 initial
dwinter
parents:
diff changeset
478 * @param float $timeout Maximum expected duration of the delete operation on the server (otherwise, will throw a communication exception)
015d06b10d37 initial
dwinter
parents:
diff changeset
479 *
015d06b10d37 initial
dwinter
parents:
diff changeset
480 * @return response object
015d06b10d37 initial
dwinter
parents:
diff changeset
481 *
015d06b10d37 initial
dwinter
parents:
diff changeset
482 * @throws Exception If an error occurs during the service call
015d06b10d37 initial
dwinter
parents:
diff changeset
483 */
015d06b10d37 initial
dwinter
parents:
diff changeset
484 function deleteById($id, $timeout = 3600);
015d06b10d37 initial
dwinter
parents:
diff changeset
485
015d06b10d37 initial
dwinter
parents:
diff changeset
486 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
487 * Create and post a delete document based on multiple document IDs.
015d06b10d37 initial
dwinter
parents:
diff changeset
488 *
015d06b10d37 initial
dwinter
parents:
diff changeset
489 * @param array $ids Expected to be utf-8 encoded strings
015d06b10d37 initial
dwinter
parents:
diff changeset
490 * @param float $timeout Maximum expected duration of the delete operation on the server (otherwise, will throw a communication exception)
015d06b10d37 initial
dwinter
parents:
diff changeset
491 *
015d06b10d37 initial
dwinter
parents:
diff changeset
492 * @return response object
015d06b10d37 initial
dwinter
parents:
diff changeset
493 *
015d06b10d37 initial
dwinter
parents:
diff changeset
494 * @throws Exception If an error occurs during the service call
015d06b10d37 initial
dwinter
parents:
diff changeset
495 */
015d06b10d37 initial
dwinter
parents:
diff changeset
496 function deleteByMultipleIds($ids, $timeout = 3600);
015d06b10d37 initial
dwinter
parents:
diff changeset
497
015d06b10d37 initial
dwinter
parents:
diff changeset
498 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
499 * Create a delete document based on a query and submit it
015d06b10d37 initial
dwinter
parents:
diff changeset
500 *
015d06b10d37 initial
dwinter
parents:
diff changeset
501 * @param string $rawQuery Expected to be utf-8 encoded
015d06b10d37 initial
dwinter
parents:
diff changeset
502 * @param float $timeout Maximum expected duration of the delete operation on the server (otherwise, will throw a communication exception)
015d06b10d37 initial
dwinter
parents:
diff changeset
503 * @return stdClass response object
015d06b10d37 initial
dwinter
parents:
diff changeset
504 *
015d06b10d37 initial
dwinter
parents:
diff changeset
505 * @throws Exception If an error occurs during the service call
015d06b10d37 initial
dwinter
parents:
diff changeset
506 */
015d06b10d37 initial
dwinter
parents:
diff changeset
507 function deleteByQuery($rawQuery, $timeout = 3600);
015d06b10d37 initial
dwinter
parents:
diff changeset
508
015d06b10d37 initial
dwinter
parents:
diff changeset
509 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
510 * Send an optimize command. Will be synchronous unless both wait parameters are set
015d06b10d37 initial
dwinter
parents:
diff changeset
511 * to false.
015d06b10d37 initial
dwinter
parents:
diff changeset
512 *
015d06b10d37 initial
dwinter
parents:
diff changeset
513 * @param boolean $waitFlush
015d06b10d37 initial
dwinter
parents:
diff changeset
514 * @param boolean $waitSearcher
015d06b10d37 initial
dwinter
parents:
diff changeset
515 * @param float $timeout Maximum expected duration of the commit operation on the server (otherwise, will throw a communication exception)
015d06b10d37 initial
dwinter
parents:
diff changeset
516 *
015d06b10d37 initial
dwinter
parents:
diff changeset
517 * @return response object
015d06b10d37 initial
dwinter
parents:
diff changeset
518 *
015d06b10d37 initial
dwinter
parents:
diff changeset
519 * @throws Exception If an error occurs during the service call
015d06b10d37 initial
dwinter
parents:
diff changeset
520 */
015d06b10d37 initial
dwinter
parents:
diff changeset
521 function optimize($waitFlush = TRUE, $waitSearcher = TRUE, $timeout = 3600);
015d06b10d37 initial
dwinter
parents:
diff changeset
522
015d06b10d37 initial
dwinter
parents:
diff changeset
523 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
524 * Simple Search interface
015d06b10d37 initial
dwinter
parents:
diff changeset
525 *
015d06b10d37 initial
dwinter
parents:
diff changeset
526 * @param string $query The raw query string
015d06b10d37 initial
dwinter
parents:
diff changeset
527 * @param array $params key / value pairs for other query parameters (see Solr documentation), use arrays for parameter keys used more than once (e.g. facet.field)
015d06b10d37 initial
dwinter
parents:
diff changeset
528 *
015d06b10d37 initial
dwinter
parents:
diff changeset
529 * @return response object
015d06b10d37 initial
dwinter
parents:
diff changeset
530 *
015d06b10d37 initial
dwinter
parents:
diff changeset
531 * @throws Exception If an error occurs during the service call
015d06b10d37 initial
dwinter
parents:
diff changeset
532 */
015d06b10d37 initial
dwinter
parents:
diff changeset
533 function search($query = '', array $params = array(), $method = 'GET');
015d06b10d37 initial
dwinter
parents:
diff changeset
534
015d06b10d37 initial
dwinter
parents:
diff changeset
535 /**
015d06b10d37 initial
dwinter
parents:
diff changeset
536 * Get the current solr version. This could be 1, 3 or 4
015d06b10d37 initial
dwinter
parents:
diff changeset
537 *
015d06b10d37 initial
dwinter
parents:
diff changeset
538 * @return int
015d06b10d37 initial
dwinter
parents:
diff changeset
539 * 1, 3 or 4. Does not give a more details version, for that you need
015d06b10d37 initial
dwinter
parents:
diff changeset
540 * to get the system info.
015d06b10d37 initial
dwinter
parents:
diff changeset
541 */
015d06b10d37 initial
dwinter
parents:
diff changeset
542 function getSolrVersion();
015d06b10d37 initial
dwinter
parents:
diff changeset
543
015d06b10d37 initial
dwinter
parents:
diff changeset
544 }