« Previous -
Version 28/84
(diff) -
Next » -
Current version
Ingo Renner, 2010-11-29 16:32
Added documentation for facet rendering instructions
tx_solr.search¶
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.
- tx_solr.search
- query
- results
- highlighting
- spellchecking
- lastSearches
- commonTerms
- sorting
- faceting
filter¶
Since: 1.0
Default:
Type: String
Adds additional parameters to the search initialization.
targetPage¶
Since: 1.0
Default: 0
Type: Integer
Sets the target page ID for links. If it is empty or 0, the current page ID will be used.
allowEmptyQuery¶
Since: 1.0
Default: 0
Options: 0,1
Type: Boolean
If enabled, empty queries are allowed.
form¶
Since: 1.0
Default: simple
Type: String
Sets the form style.
query¶
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.
query.fields¶
Since: 1.0
Default: content^40.0, title^5.0, keywords^2.0, tagsH1^5.0, tagsH2H3^3.0, tagsH4H5H6^2.0, tagsInline^1.0
Type: String
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.
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.
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.
query.minimumMatch¶
Since: 1.2, 2.0
Default: (empty)
See: http://wiki.apache.org/solr/DisMaxRequestHandler#mm_.28Minimum_.27Should.27_Match.29
Type: String
Sets the minimum match mm query parameter.
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.
Please consult the link to the Solr wiki for a more detailed description of the mm syntax.
query.boostFunction¶
Since: 1.2, 2.0
Default: (empty)
See: http://wiki.apache.org/solr/DisMaxRequestHandler#bf_.28Boost_Functions.29
Type: String
Sets the boost function bf query parameter.
Allows to further manipulate the score of a document by using mathematical functions and field values of the current document.
A common use case for boost functions is to rank newer documents higher than older ones.
Please consult the link to the Solr wiki for a more detailed description of boost functions.
results¶
results.resultsPerPage¶
Since: 1.0
Default: {$plugin.tx_solr.search.results.resultsPerPage}
Type: Integer
Sets the number of shown results per page.
results.resultsPerPageSwitchOptions¶
Since: 1.0
Default: 10, 20, 30, 50
Type: String
Defines the shown options of possible results per page.
results.fieldProcessingInstructions¶
Since: 1.0
Options: timestamp, utf8Decode, skip
Type: cObject
Mapping of fieldname to processing instructions. Available instructions: timestamp, utf8Decode, skip (removes the field from the result).
results.fieldRenderingInstructions¶
Since: 1.0
Type: cObject
Additional rendering instructions for specified fields.
results.pagebrowser.templateFile¶
Since: 1.0
Default: EXT:solr/resources/templates/pi_results/pagebrowser.htm
Type: String
Defines the template used for the pagebrowser.
results.ignorePageBrowser¶
Since: 1.0
Default: 0
Options: 0, 1
Type: Boolean
If enabled, the selected page will be ignored an results by the first record.
results.showDocumentScoreAnalysis¶
Since: 2.0
Default: 0
Options: 0,1
Type: Boolean
If enabled, the analysis and display of the score analysis for logged in backend users will be initialized.
highlighting¶
highlighting.highlightFields¶
Since: 1.0
Default: title,content
Type: String
Should be a comma- or space-delimited list of fields to generate highlighted snippets for.
highlighting.fragmentSize¶
Since: 1.0
Default: 200
Type: Integer
The size, in characters, of fragments to consider for highlighting. "0" indicates that the whole field value should be used (no fragmenting).
highlighting.wrap¶
Since: 1.0
Default: <span class="results-highlight">|</span>
Type: String
This is used to format the highlighted parts.
spellchecking¶
spellchecking.wrap¶
Since: 1.0
Default: |<div class="spelling-suggestions">###LLL:didYouMean### |</div>|
Type: String
This is used to format spelling suggestions.
lastSearches¶
lastSearches.limit¶
Since: 1.0
Default: 10
Type: Integer
Defines the number of last searches, that should get minded.
lastSearches.mode¶
Since: 1.0
Default: user
Options: user, global
Type: String
If mode is user, keywords will get stored into the session. If mode is global keywords will get stored into the database.
commonTerms¶
commonTerms.minSize¶
Since: 1.0
Default: 14
Type: Integer
The difference between commonTerms.maxSize and commonTerms.minsize is getting used for calculating the current step.
commonTerms.maxSize¶
Since: 1.0
Default: 32
Type: Integer
The difference between commonTerms.maxSize and commonTerms.minsize is getting used for calculating the current step.
commonTerms.limit¶
Since: 1.0
Default: 20
Type: Integer
Defines the maximum size of the list by commonTerms.select.
commonTerms.select¶
Since: 1.0
Type: cObject
Defines a database connection for retrieving statistics.
sorting¶
sorting.defaultOrder¶
Since: 1.0
Default: ASC
Options: ASC, DESC
Type: String
Sets the order of sortings.
sorting.fields¶
sorting.fields.relevancy.label¶
Since: 1.0
Default: sorting_relevancy
Type: String
Defines the name of the relevancy label.
sorting.fields.sortTitle.label¶
Since: 1.0
Default: sorting_title
Type: String
Defines the name of the title label.
sorting.fields.type.label¶
Since: 1.0
Default: sorting_type
Type: String
Defines the name of the type label.
sorting.fields.sortAuthor.label¶
Since: 1.0
Default: sorting_author
Type: String
Defines the name of the author label.
sorting.fields.created.label¶
Since: 1.0
Default: sorting_created
Type: String
Defines the name of the created label.
faceting¶
faceting.minimumCount¶
Since: 1.0
Default: 1
Type: Integer
See: http://wiki.apache.org/solr/SimpleFacetParameters#facet.mincount
This indicates the minimum counts for facet fields should be included in the response.
faceting.sortBy¶
Since: 1.0
Default: count
Options: count, index, 1, 0, true, false, alpha (1.2, 2.0), lex (1.2, 2.0)
See: http://wiki.apache.org/solr/SimpleFacetParameters#facet.sort
Type: String
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.
Facet options can also be sorted alphabetically (lexicographic by indexed term) by setting the option to index. index, 0, false, alpha (from version 1.2 and 2.0), and lex (from version 1.2 and 2.0) are aliases for index.
faceting.limit¶
Since: 1.0
Default: 10
See: http://wiki.apache.org/solr/SimpleFacetParameters#facet.limit
Type: Integer
This indicates the maximum number of constraint counts that should be returned for the facet fields. A negative value means unlimited.
faceting.singleFacetMode¶
Since: 1.2, 2.0
Default: 0
Options: 0, 1
Type: Boolean
If enabled, the user can only use one facet at a time.
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.
faceting.facets¶
Since: 1.0
Default: type, author
See: http://wiki.apache.org/solr/SolrFacetingOverview
Type: cObject
Defines on which fields you want to facet. It's a list of facet configurations.
1 plugin.tx_solr.search.faceting.facets {
2 // type is the name of the facet configuration, you can choose whatever name
3 type {
4 field = type // the index field you want to create a facet from
5 label = Content Type // a label
6 sortBy = index // sorte the facet options alphabetically, otherwise they are sorted by count, options with more results on top
7
8 keepAllOptionsOnSelection = 1 // if set allows to choose more than one option from this facet
9 operator = OR // used in combination with keepAllOptionsOnSelection to set how multiple options from one facet are combined, can also be AND
10 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.
11 }
12
13 myOtherFacet {
14 ...
15 }
16 }
faceting.facets.[facet] - single facet configuration¶
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".
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.
faceting.facets.[facet].field¶
Since: 1.0
Type: String
Required
Which field to use to create the facet.
faceting.facets.[facet].label¶
Since: 1.0
Type: String
Required
Used as a headline or title to describe the options of a facet.
faceting.facets.[facet].selectingSelectedFacetOptionRemovesFilter¶
Since: 1.2, 2.0
Default: 0
Options: 0, 1
Type: Boolean
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.
Feel free to suggest a better name for this option...
faceting.facets.[facet].keepAllOptionsOnSelection¶
Since: 1.2, 2.0
Default: 0
Options: 0, 1
Type: Boolean
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.
This is useful if you want to allow the user to select more than one option from a single facet.
faceting.facets.[facet].operator¶
Since: 1.2, 2.0
Default: AND
Options: OR, AND
Type: String
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.
faceting.facets.[facet].renderingInstruction¶
Since: 1.0
Type: cObject
Overwrites how single facet options are rendered using TypoScript cObjects.
Example: (taken from issue #5920)
1 plugin.tx_solr {
2 search {
3 faceting {
4 facets {
5 type {
6 renderingInstruction = CASE
7 renderingInstruction {
8 key.field = optionValue
9
10 pages = TEXT
11 pages.value = Pages
12 pages.lang.de = Seiten
13
14 file = TEXT
15 file.value = Files
16 file.lang.de = Dateien
17
18 tt_news = TEXT
19 tt_news.value = News
20 tt_news.lang.de = Nachrichten
21 }
22 }
23
24 language {
25 renderingInstruction = CASE
26 renderingInstruction {
27 key.field = optionValue
28
29 0 = TEXT
30 0.value = English
31 0.lang.de = Englisch
32
33 1 = TEXT
34 1.value = German
35 1.lang.de = Deutsch
36 }
37 }
38 }
39 }
40 }
41 }
faceting.removeFacetLinkText¶
Since: 1.0
Default: @facetText (remove)
Type: String
Defines the text for a link used for removing a given facet from the search results.
faceting.showAllLink.wrap¶
Since: 1.0
Default: <li>|</li>
Type: String
Defines the output of the "Show more" link, that is rendered if there are more facets given than set by faceting.limit.