CoreCommunity ExtensionsIncubatorDistributionsTYPO3 4.5 ProjectsTYPO3 4.6 ProjectsTYPO3 4.7 ProjectsTYPO3 6.0 ProjectsTYPO3 6.1 ProjectsTYPO3 6.2 Projects (+)

Tx solrsearch

Version 32 (Ingo Renner, 2011-01-11 12:35)

1 1
h1. tx_solr.search
2 1
3 1
The search section, you probably already guessed it, provides configuration options for the all things related to actually searching the index, setting query parameters, formatting and processing result documents and the result listing.
4 1
5 3 Ingo Renner
{{toc}}
6 3 Ingo Renner
7 5 Stefan Sprenger
h2. filter
8 6 Stefan Sprenger
9 5 Stefan Sprenger
*Since:* version:1.0
10 5 Stefan Sprenger
*Default:*
11 5 Stefan Sprenger
*Type:* String
12 5 Stefan Sprenger
13 5 Stefan Sprenger
Adds additional parameters to the search initialization.
14 5 Stefan Sprenger
15 5 Stefan Sprenger
h2. targetPage
16 6 Stefan Sprenger
17 5 Stefan Sprenger
*Since:* version:1.0
18 5 Stefan Sprenger
*Default:* 0
19 5 Stefan Sprenger
*Type:* Integer
20 5 Stefan Sprenger
21 5 Stefan Sprenger
Sets the target page ID for links. If it is empty or 0, the current page ID will be used.
22 5 Stefan Sprenger
23 5 Stefan Sprenger
h2. allowEmptyQuery
24 6 Stefan Sprenger
25 5 Stefan Sprenger
*Since:* version:1.0
26 5 Stefan Sprenger
*Default:* 0
27 5 Stefan Sprenger
*Options:* 0,1
28 5 Stefan Sprenger
*Type:* Boolean
29 5 Stefan Sprenger
30 5 Stefan Sprenger
If enabled, empty queries are allowed.
31 5 Stefan Sprenger
32 8 Stefan Sprenger
h2. form
33 8 Stefan Sprenger
34 8 Stefan Sprenger
*Since:* version:1.0
35 8 Stefan Sprenger
*Default:* simple
36 8 Stefan Sprenger
*Type:* String
37 8 Stefan Sprenger
38 8 Stefan Sprenger
Sets the form style.
39 8 Stefan Sprenger
40 3 Ingo Renner
h1. query
41 1
42 1
The query sub-section defines a few query parameters for the query that will be sent to the Solr server later on. Some query parameters are also generated and set by the extension itself, f.e. when using facets.
43 1
44 2 Ingo Renner
h2. query.fields
45 1
46 1
*Since:* version:1.0
47 1
*Default:* content^40.0, title^5.0, keywords^2.0, tagsH1^5.0, tagsH2H3^3.0, tagsH4H5H6^2.0, tagsInline^1.0
48 5 Stefan Sprenger
*Type:* String
49 1
50 1
Defines what fields to search in the index. Fields are defined as a comma separated list. Each field can be given a boost by appending the boost value separated by the ^ character, that's Lucene query language. The boost value itself is a float value, pay attention to using a dot as the separator for the fractions. Use this option to add more fields to search.
51 1
52 1
The boost take influence on what score a document gets when searching and thus how documents are ranked and listed in the search results. A higher score will move documents up in the result listing. The boost is a multiplier for the original score value of a document for a search term.
53 1
54 1
By default if a search term is found in the content field the documents gets scored / ranked higher as if a term was found in the title or keywords field. Although the default should provide a good setting, you can play around with the boost values to find the best ranking for your content.
55 1
56 1
h2. query.minimumMatch
57 1
58 21 Ingo Renner
*Since:* version:1.2, version:2.0
59 1
*Default:* (empty)
60 1
*See:* http://wiki.apache.org/solr/DisMaxRequestHandler#mm_.28Minimum_.27Should.27_Match.29
61 5 Stefan Sprenger
*Type:* String
62 1
63 1
Sets the minimum match _mm_ query parameter.
64 1
By default the mm query parameter is set in solrconfig.xml as _2<-35%_. This means that for queries with less than three words they all must match the searched fields of a document. For queries with three or more words at least 65% of them must match rounded up.
65 1
66 1
Please consult the link to the Solr wiki for a more detailed description of the mm syntax.
67 1
68 1
h2. query.boostFunction
69 1
70 21 Ingo Renner
*Since:* version:1.2, version:2.0
71 1
*Default:* (empty)
72 7 Stefan Sprenger
*See:* http://wiki.apache.org/solr/DisMaxRequestHandler#bf_.28Boost_Functions.29
73 7 Stefan Sprenger
*Type:* String
74 7 Stefan Sprenger
75 7 Stefan Sprenger
Sets the boost function _bf_ query parameter.
76 7 Stefan Sprenger
Allows to further manipulate the score of a document by using mathematical functions and field values of the current document.
77 7 Stefan Sprenger
A common use case for boost functions is to rank newer documents higher than older ones.
78 7 Stefan Sprenger
79 7 Stefan Sprenger
Please consult the link to the Solr wiki for a more detailed description of boost functions.
80 7 Stefan Sprenger
81 7 Stefan Sprenger
h1. results
82 7 Stefan Sprenger
83 7 Stefan Sprenger
h2. results.resultsPerPage
84 7 Stefan Sprenger
85 7 Stefan Sprenger
*Since:* version:1.0
86 7 Stefan Sprenger
*Default:* {$plugin.tx_solr.search.results.resultsPerPage}
87 7 Stefan Sprenger
*Type:* Integer
88 7 Stefan Sprenger
89 7 Stefan Sprenger
Sets the number of shown results per page.
90 7 Stefan Sprenger
91 7 Stefan Sprenger
h2. results.resultsPerPageSwitchOptions
92 7 Stefan Sprenger
93 7 Stefan Sprenger
*Since:* version:1.0
94 7 Stefan Sprenger
*Default:* 10, 20, 30, 50
95 7 Stefan Sprenger
*Type:* String
96 7 Stefan Sprenger
97 7 Stefan Sprenger
Defines the shown options of possible results per page.
98 7 Stefan Sprenger
99 7 Stefan Sprenger
h2. results.fieldProcessingInstructions
100 7 Stefan Sprenger
101 7 Stefan Sprenger
*Since:* version:1.0
102 18 Markus Goldbach
*Options:* timestamp, utf8Decode, skip
103 7 Stefan Sprenger
*Type:* cObject
104 7 Stefan Sprenger
105 7 Stefan Sprenger
Mapping of fieldname to processing instructions. Available instructions: timestamp, utf8Decode, skip (removes the field from the result).
106 7 Stefan Sprenger
107 7 Stefan Sprenger
h2. results.fieldRenderingInstructions
108 7 Stefan Sprenger
109 7 Stefan Sprenger
*Since:* version:1.0
110 7 Stefan Sprenger
*Type:* cObject
111 7 Stefan Sprenger
112 7 Stefan Sprenger
Additional rendering instructions for specified fields.
113 7 Stefan Sprenger
114 7 Stefan Sprenger
h2. results.pagebrowser.templateFile
115 7 Stefan Sprenger
116 7 Stefan Sprenger
*Since:* version:1.0
117 7 Stefan Sprenger
*Default:* EXT:solr/resources/templates/pi_results/pagebrowser.htm
118 7 Stefan Sprenger
*Type:* String
119 7 Stefan Sprenger
120 7 Stefan Sprenger
Defines the template used for the pagebrowser.
121 7 Stefan Sprenger
122 7 Stefan Sprenger
h2. results.ignorePageBrowser
123 7 Stefan Sprenger
124 7 Stefan Sprenger
*Since:* version:1.0
125 7 Stefan Sprenger
*Default:* 0
126 21 Ingo Renner
*Options:* 0, 1
127 7 Stefan Sprenger
*Type:* Boolean
128 7 Stefan Sprenger
129 7 Stefan Sprenger
If enabled, the selected page will be ignored an results by the first record.
130 7 Stefan Sprenger
131 7 Stefan Sprenger
h2. results.showDocumentScoreAnalysis
132 7 Stefan Sprenger
133 7 Stefan Sprenger
*Since:* version:2.0
134 7 Stefan Sprenger
*Default:* 0
135 7 Stefan Sprenger
*Options:* 0,1
136 7 Stefan Sprenger
*Type:* Boolean
137 7 Stefan Sprenger
138 7 Stefan Sprenger
If enabled, the analysis and display of the score analysis for logged in backend users will be initialized.
139 9 Stefan Sprenger
140 9 Stefan Sprenger
h1. highlighting
141 9 Stefan Sprenger
142 9 Stefan Sprenger
h2. highlighting.highlightFields
143 9 Stefan Sprenger
144 9 Stefan Sprenger
*Since:* version:1.0
145 9 Stefan Sprenger
*Default:* title,content
146 9 Stefan Sprenger
*Type:* String
147 9 Stefan Sprenger
148 9 Stefan Sprenger
Should be a comma- or space-delimited list of fields to generate highlighted snippets for.
149 10 Stefan Sprenger
150 10 Stefan Sprenger
h2. highlighting.fragmentSize
151 10 Stefan Sprenger
152 10 Stefan Sprenger
*Since:* version:1.0
153 10 Stefan Sprenger
*Default:* 200
154 10 Stefan Sprenger
*Type:* Integer
155 10 Stefan Sprenger
156 10 Stefan Sprenger
The size, in characters, of fragments to consider for highlighting. "0" indicates that the whole field value should be used (no fragmenting).
157 10 Stefan Sprenger
158 10 Stefan Sprenger
h2. highlighting.wrap
159 10 Stefan Sprenger
160 10 Stefan Sprenger
*Since:* version:1.0
161 10 Stefan Sprenger
*Default:* <span class="results-highlight">|</span>
162 10 Stefan Sprenger
*Type:* String
163 10 Stefan Sprenger
164 10 Stefan Sprenger
This is used to format the highlighted parts.
165 10 Stefan Sprenger
166 10 Stefan Sprenger
h1. spellchecking
167 10 Stefan Sprenger
168 10 Stefan Sprenger
h2. spellchecking.wrap
169 10 Stefan Sprenger
170 10 Stefan Sprenger
*Since:* version:1.0
171 10 Stefan Sprenger
*Default:* |<div class="spelling-suggestions">###LLL:didYouMean### |</div>|
172 10 Stefan Sprenger
*Type:* String
173 10 Stefan Sprenger
174 10 Stefan Sprenger
This is used to format spelling suggestions.
175 10 Stefan Sprenger
176 10 Stefan Sprenger
h1. lastSearches
177 10 Stefan Sprenger
178 10 Stefan Sprenger
h2. lastSearches.limit
179 10 Stefan Sprenger
180 10 Stefan Sprenger
*Since:* version:1.0
181 10 Stefan Sprenger
*Default:* 10
182 10 Stefan Sprenger
*Type:* Integer
183 10 Stefan Sprenger
184 10 Stefan Sprenger
Defines the number of last searches, that should get minded.
185 10 Stefan Sprenger
186 10 Stefan Sprenger
h2. lastSearches.mode
187 10 Stefan Sprenger
188 10 Stefan Sprenger
*Since:* version:1.0
189 10 Stefan Sprenger
*Default:* user
190 10 Stefan Sprenger
*Options:* user, global
191 10 Stefan Sprenger
*Type:* String
192 10 Stefan Sprenger
193 10 Stefan Sprenger
If mode is user, keywords will get stored into the session. If mode is global keywords will get stored into the database.
194 10 Stefan Sprenger
195 11 Stefan Sprenger
h1. commonTerms
196 1
197 11 Stefan Sprenger
h2. commonTerms.minSize
198 11 Stefan Sprenger
199 11 Stefan Sprenger
*Since:* version:1.0
200 11 Stefan Sprenger
*Default:* 14
201 11 Stefan Sprenger
*Type:* Integer
202 11 Stefan Sprenger
203 11 Stefan Sprenger
The difference between commonTerms.maxSize and commonTerms.minsize is getting used for calculating the current step.
204 11 Stefan Sprenger
205 11 Stefan Sprenger
206 11 Stefan Sprenger
h2. commonTerms.maxSize
207 11 Stefan Sprenger
208 11 Stefan Sprenger
*Since:* version:1.0
209 11 Stefan Sprenger
*Default:* 32
210 11 Stefan Sprenger
*Type:* Integer
211 11 Stefan Sprenger
212 11 Stefan Sprenger
The difference between commonTerms.maxSize and commonTerms.minsize is getting used for calculating the current step.
213 11 Stefan Sprenger
214 11 Stefan Sprenger
h2. commonTerms.limit
215 11 Stefan Sprenger
216 11 Stefan Sprenger
*Since:* version:1.0
217 11 Stefan Sprenger
*Default:* 20
218 11 Stefan Sprenger
*Type:* Integer
219 11 Stefan Sprenger
220 11 Stefan Sprenger
Defines the maximum size of the list by commonTerms.select.
221 11 Stefan Sprenger
222 11 Stefan Sprenger
h2. commonTerms.select
223 11 Stefan Sprenger
224 11 Stefan Sprenger
*Since:* version:1.0
225 11 Stefan Sprenger
*Type:* cObject
226 11 Stefan Sprenger
227 11 Stefan Sprenger
Defines a database connection for retrieving statistics.
228 11 Stefan Sprenger
229 11 Stefan Sprenger
h1. sorting
230 11 Stefan Sprenger
231 11 Stefan Sprenger
h2. sorting.defaultOrder
232 11 Stefan Sprenger
233 11 Stefan Sprenger
*Since:* version:1.0
234 11 Stefan Sprenger
*Default:* ASC
235 11 Stefan Sprenger
*Options:* ASC, DESC
236 11 Stefan Sprenger
*Type:* String
237 11 Stefan Sprenger
238 11 Stefan Sprenger
Sets the order of sortings.
239 11 Stefan Sprenger
240 11 Stefan Sprenger
h2. sorting.fields
241 11 Stefan Sprenger
242 11 Stefan Sprenger
h3. sorting.fields.relevancy.label
243 11 Stefan Sprenger
244 11 Stefan Sprenger
*Since:* version:1.0
245 11 Stefan Sprenger
*Default:* sorting_relevancy
246 11 Stefan Sprenger
*Type:* String
247 11 Stefan Sprenger
248 12 Stefan Sprenger
Defines the name of the relevancy label.
249 11 Stefan Sprenger
250 11 Stefan Sprenger
h3. sorting.fields.sortTitle.label
251 11 Stefan Sprenger
252 11 Stefan Sprenger
*Since:* version:1.0
253 11 Stefan Sprenger
*Default:* sorting_title
254 11 Stefan Sprenger
*Type:* String
255 11 Stefan Sprenger
256 12 Stefan Sprenger
Defines the name of the title label.
257 11 Stefan Sprenger
258 11 Stefan Sprenger
h3. sorting.fields.type.label
259 11 Stefan Sprenger
260 11 Stefan Sprenger
*Since:* version:1.0
261 11 Stefan Sprenger
*Default:* sorting_type
262 11 Stefan Sprenger
*Type:* String
263 11 Stefan Sprenger
264 12 Stefan Sprenger
Defines the name of the type label.
265 11 Stefan Sprenger
266 11 Stefan Sprenger
h3. sorting.fields.sortAuthor.label
267 11 Stefan Sprenger
268 11 Stefan Sprenger
*Since:* version:1.0
269 11 Stefan Sprenger
*Default:* sorting_author
270 11 Stefan Sprenger
*Type:* String
271 11 Stefan Sprenger
272 12 Stefan Sprenger
Defines the name of the author label.
273 11 Stefan Sprenger
274 11 Stefan Sprenger
h3. sorting.fields.created.label
275 11 Stefan Sprenger
276 11 Stefan Sprenger
*Since:* version:1.0
277 11 Stefan Sprenger
*Default:* sorting_created
278 11 Stefan Sprenger
*Type:* String
279 11 Stefan Sprenger
280 12 Stefan Sprenger
Defines the name of the created label.
281 13 Stefan Sprenger
282 13 Stefan Sprenger
h1. faceting
283 13 Stefan Sprenger
284 13 Stefan Sprenger
h2. faceting.minimumCount
285 13 Stefan Sprenger
286 13 Stefan Sprenger
*Since:* version:1.0
287 13 Stefan Sprenger
*Default:* 1
288 13 Stefan Sprenger
*Type:* Integer
289 13 Stefan Sprenger
*See:* http://wiki.apache.org/solr/SimpleFacetParameters#facet.mincount
290 13 Stefan Sprenger
291 13 Stefan Sprenger
This indicates the minimum counts for facet fields should be included in the response.
292 13 Stefan Sprenger
293 13 Stefan Sprenger
h2. faceting.sortBy
294 13 Stefan Sprenger
295 13 Stefan Sprenger
*Since:* version:1.0
296 13 Stefan Sprenger
*Default:* count
297 20 Ingo Renner
*Options:* count, index, 1, 0, true, false, alpha (version:1.2, version:2.0), lex (version:1.2, version:2.0)
298 13 Stefan Sprenger
*See:* http://wiki.apache.org/solr/SimpleFacetParameters#facet.sort
299 13 Stefan Sprenger
*Type:* String
300 1
301 16 Ingo Renner
Defines how facet options are sorted, by default they are sorted by count of results, highest on top. count, 1, true are aliases for each other.
302 20 Ingo Renner
Facet options can also be sorted alphabetically (lexicographic by indexed term) by setting the option to index. index, 0, false, alpha (from version version:1.2 and version:2.0), and lex (from version version:1.2 and version:2.0) are aliases for index.
303 13 Stefan Sprenger
304 13 Stefan Sprenger
h2. faceting.limit
305 13 Stefan Sprenger
306 13 Stefan Sprenger
*Since:* version:1.0
307 13 Stefan Sprenger
*Default:* 10
308 13 Stefan Sprenger
*See:* http://wiki.apache.org/solr/SimpleFacetParameters#facet.limit
309 13 Stefan Sprenger
*Type:* Integer
310 13 Stefan Sprenger
311 13 Stefan Sprenger
This indicates the maximum number of constraint counts that should be returned for the facet fields. A negative value means unlimited.
312 13 Stefan Sprenger
313 13 Stefan Sprenger
h2. faceting.singleFacetMode
314 13 Stefan Sprenger
315 27 Ingo Renner
*Since:* version:1.2, version:2.0
316 13 Stefan Sprenger
*Default:* 0
317 21 Ingo Renner
*Options:* 0, 1
318 13 Stefan Sprenger
*Type:* Boolean
319 1
320 27 Ingo Renner
If enabled, the user can only use one facet at a time. 
321 27 Ingo Renner
322 27 Ingo Renner
Lets say you have you have two facets configured, type and author. If the user selects a facet option from type its filter is added to the query. Normally when selecting another option from the other facet - the author facet - this would lead to having two facet filters applied to the query. When this option is activated the option from the author facet will simply replace the first option from the type facet.
323 13 Stefan Sprenger
324 31 Ingo Renner
h2. faceting.removeFacetLinkText
325 31 Ingo Renner
326 31 Ingo Renner
*Since:* version:1.0
327 31 Ingo Renner
*Default:* @facetText (remove)
328 31 Ingo Renner
*Type:* String
329 31 Ingo Renner
330 31 Ingo Renner
Defines the text for a link used for removing a given facet from the search results.
331 31 Ingo Renner
332 31 Ingo Renner
h2. faceting.showAllLink.wrap
333 31 Ingo Renner
334 31 Ingo Renner
*Since:* version:1.0
335 31 Ingo Renner
*Default:* <li>|</li>
336 31 Ingo Renner
*Type:* String
337 31 Ingo Renner
338 31 Ingo Renner
Defines the output of the "Show more" link, that is rendered if there are more facets given than set by faceting.limit.
339 31 Ingo Renner
340 31 Ingo Renner
h2. faceting.showEmptyFacets
341 31 Ingo Renner
342 31 Ingo Renner
*Since:* version:1.3
343 31 Ingo Renner
*Default:* 1
344 31 Ingo Renner
*Options:* 0, 1
345 31 Ingo Renner
*Type:* Boolean
346 31 Ingo Renner
347 31 Ingo Renner
By setting this option to 0, you can prevent rendering of empty facets.
348 31 Ingo Renner
349 13 Stefan Sprenger
h2. faceting.facets
350 13 Stefan Sprenger
351 13 Stefan Sprenger
*Since:* version:1.0
352 13 Stefan Sprenger
*Default:* type, author
353 13 Stefan Sprenger
*See:* http://wiki.apache.org/solr/SolrFacetingOverview
354 13 Stefan Sprenger
*Type:* cObject
355 13 Stefan Sprenger
356 14 Ingo Renner
Defines on which fields you want to facet. It's a list of facet configurations.
357 14 Ingo Renner
358 14 Ingo Renner
<pre><code class="typoscript">
359 14 Ingo Renner
plugin.tx_solr.search.faceting.facets {
360 14 Ingo Renner
    // type is the name of the facet configuration, you can choose whatever name
361 14 Ingo Renner
  type {
362 14 Ingo Renner
    field = type // the index field you want to create a facet from
363 14 Ingo Renner
    label = Content Type // a label
364 14 Ingo Renner
    sortBy = index // sorte the facet options alphabetically, otherwise they are sorted by count, options with more results on top
365 14 Ingo Renner
    
366 14 Ingo Renner
    keepAllOptionsOnSelection = 1 // if set allows to choose more than one option from this facet
367 14 Ingo Renner
    operator = OR // used in combination with keepAllOptionsOnSelection to set how multiple options from one facet are combined, can also be AND
368 14 Ingo Renner
    selectingSelectedFacetOptionRemovesFilter = 1 // boolean; if enabled, the facet options behave like switches. On first selection they add the filter for the facet option, on a second click they will remove the filter again. Currently requires keepAllOptionsOnSelection to be set to use this.
369 14 Ingo Renner
  }
370 15 Ingo Renner
371 15 Ingo Renner
  myOtherFacet {
372 1
    ...
373 1
  }
374 1
}
375 1
</code></pre>
376 21 Ingo Renner
377 23 Ingo Renner
h2. faceting.facets.[facet] - single facet configuration
378 1
379 24 Ingo Renner
You can add new facets by simply adding a new facet configuration in TypoScript. [facet] represents the facet's name and acts as a configuration "container" for a single facet. All configuration options for that facet are defined within that "container".
380 24 Ingo Renner
381 24 Ingo Renner
A facet will use the values of a configured index field to offer these values as filter options to your site's visitors. You need to make sure that the facet field's type allows to sort the field's value; like string, int, and other primitive types.
382 24 Ingo Renner
383 24 Ingo Renner
h3. faceting.facets.[facet].field
384 24 Ingo Renner
385 24 Ingo Renner
*Since:* version:1.0
386 24 Ingo Renner
*Type:* String
387 24 Ingo Renner
*Required*
388 24 Ingo Renner
389 24 Ingo Renner
Which field to use to create the facet.
390 24 Ingo Renner
391 24 Ingo Renner
h3. faceting.facets.[facet].label
392 24 Ingo Renner
393 24 Ingo Renner
*Since:* version:1.0
394 24 Ingo Renner
*Type:* String
395 24 Ingo Renner
*Required*
396 24 Ingo Renner
397 24 Ingo Renner
Used as a headline or title to describe the options of a facet.
398 24 Ingo Renner
399 23 Ingo Renner
h3. faceting.facets.[facet].selectingSelectedFacetOptionRemovesFilter
400 23 Ingo Renner
401 21 Ingo Renner
*Since:* version:1.2, version:2.0
402 21 Ingo Renner
*Default:* 0
403 21 Ingo Renner
*Options:* 0, 1
404 21 Ingo Renner
*Type:* Boolean
405 21 Ingo Renner
406 21 Ingo Renner
Activating this option for a facet makes the facet's option links behave like on/off switches: You click them once to activate a facet, you click them a second time to deactivate the facet again.
407 22 Ingo Renner
408 1
Feel free to suggest a better name for this option...
409 22 Ingo Renner
410 23 Ingo Renner
h3. faceting.facets.[facet].keepAllOptionsOnSelection
411 22 Ingo Renner
412 22 Ingo Renner
*Since:* version:1.2, version:2.0
413 22 Ingo Renner
*Default:* 0
414 22 Ingo Renner
*Options:* 0, 1
415 22 Ingo Renner
*Type:* Boolean
416 22 Ingo Renner
417 22 Ingo Renner
Normally, when clicking any option link of a facet this would result in only that one option being displayed afterwards. By setting this option to one, you can prevent this. All options will still be displayed. 
418 22 Ingo Renner
419 22 Ingo Renner
This is useful if you want to allow the user to select more than one option from a single facet.
420 22 Ingo Renner
421 32 Ingo Renner
h3. faceting.facets.[facet].singleOptionMode
422 32 Ingo Renner
423 32 Ingo Renner
*Since:* version:1.3, version:2.0
424 32 Ingo Renner
*Default:* 0
425 32 Ingo Renner
*Options:* 0, 1
426 32 Ingo Renner
*Type:* Boolean
427 32 Ingo Renner
428 32 Ingo Renner
When enabled together with keepAllOptionsOnSelection a user can select one option of the facet only at a time. Selecting a different option than the currently selected option results in the new option to replace the old one. The behavior thus is similar to a select box or a set of radio buttons.
429 32 Ingo Renner
430 32 Ingo Renner
431 25 Ingo Renner
h3. faceting.facets.[facet].operator
432 25 Ingo Renner
433 25 Ingo Renner
*Since:* version:1.2, version:2.0
434 25 Ingo Renner
*Default:* AND
435 25 Ingo Renner
*Options:* OR, AND
436 25 Ingo Renner
*Type:* String
437 25 Ingo Renner
438 25 Ingo Renner
When configuring a facet to allow selection of multiple options, you can use this option to decide whether multiple selected options should be combined using AND or OR.
439 25 Ingo Renner
440 29 Stefan Sprenger
h3. faceting.facets.[facet].includeInAvailableFacets
441 29 Stefan Sprenger
442 29 Stefan Sprenger
*Since:* version:1.3
443 29 Stefan Sprenger
*Default:* 1
444 29 Stefan Sprenger
*Options:* 0, 1
445 29 Stefan Sprenger
*Type:* Boolean
446 29 Stefan Sprenger
447 29 Stefan Sprenger
By setting this option to 0, you can prevent rendering of a given facet within the available facets list.
448 29 Stefan Sprenger
This is pretty helpful if you render the facet yourself using a view helper and don't want the facet to be rendered twice.
449 29 Stefan Sprenger
450 28 Ingo Renner
h3. faceting.facets.[facet].renderingInstruction
451 28 Ingo Renner
452 28 Ingo Renner
*Since:* version:1.0
453 28 Ingo Renner
*Type:* cObject
454 28 Ingo Renner
455 28 Ingo Renner
Overwrites how single facet options are rendered using TypoScript cObjects. 
456 28 Ingo Renner
457 28 Ingo Renner
Example: (taken from issue #5920)
458 28 Ingo Renner
<pre><code class="typoscript">
459 28 Ingo Renner
plugin.tx_solr {
460 28 Ingo Renner
    search {
461 28 Ingo Renner
        faceting {
462 28 Ingo Renner
            facets {
463 28 Ingo Renner
                type {
464 28 Ingo Renner
                    renderingInstruction = CASE
465 28 Ingo Renner
                    renderingInstruction {
466 28 Ingo Renner
                        key.field = optionValue
467 28 Ingo Renner
468 28 Ingo Renner
                        pages = TEXT
469 28 Ingo Renner
                        pages.value = Pages
470 28 Ingo Renner
                        pages.lang.de = Seiten
471 28 Ingo Renner
472 28 Ingo Renner
                        file = TEXT
473 28 Ingo Renner
                        file.value = Files
474 28 Ingo Renner
                        file.lang.de = Dateien
475 28 Ingo Renner
476 28 Ingo Renner
                        tt_news = TEXT
477 13 Stefan Sprenger
                        tt_news.value = News
478 13 Stefan Sprenger
                        tt_news.lang.de = Nachrichten
479 13 Stefan Sprenger
                    }
480 13 Stefan Sprenger
                }
481 13 Stefan Sprenger
482 13 Stefan Sprenger
                language {
483 13 Stefan Sprenger
                    renderingInstruction = CASE
484 13 Stefan Sprenger
                    renderingInstruction {
485 13 Stefan Sprenger
                        key.field = optionValue
486 13 Stefan Sprenger
487 13 Stefan Sprenger
                        0 = TEXT
488 13 Stefan Sprenger
                        0.value = English
489 13 Stefan Sprenger
                        0.lang.de = Englisch
490 13 Stefan Sprenger
491 13 Stefan Sprenger
                        1 = TEXT
492 30 Stefan Sprenger
                        1.value = German
493 30 Stefan Sprenger
                        1.lang.de = Deutsch
494 30 Stefan Sprenger
                    }
495 30 Stefan Sprenger
                }
496 30 Stefan Sprenger
            }
497 30 Stefan Sprenger
        }
498 30 Stefan Sprenger
    }
499 30 Stefan Sprenger
}
500 30 Stefan Sprenger
</code></pre>