Configuration settings eZ Find
This page contains information regarding the INI settings of your eZ Find extension. For more information please refer to you site.ini.append.php and ezfind.ini file.
Table of contents
File | Configuration Group | Configuration Setting |
---|---|---|
URLProtocol |
||
IndexPubliclyAvailable |
||
SearchOtherInstallations |
||
DefaultSearchHandler |
||
SearchMainLanguageOnly |
||
MultiCore |
||
DefaultCore |
||
LanguagesCoreMap |
||
AutoComplete |
||
Limit |
||
FacetField |
||
FacetMethod |
||
MinQueryLength |
||
SpellCheck |
||
DefaultDictionary |
||
SiteNameList |
||
CustomMap |
||
DatatypeMap |
||
DatatypeMapSort |
||
DatatypeMapFacet |
||
DatatypeMapFilter |
||
Default |
||
OptimizeOnCommit |
||
DisableDirectCommits |
||
CommitWithin |
||
DisableDirectCommits |
||
EnableSolrAttributeStorage |
||
MetaField |
||
Class |
||
Attribute |
||
Datatype |
||
ReverseRelatedScale |
||
ClassIdentifierList |
||
RawFilterList |
||
FilterHiddenFromDB |
||
ExtractionFields |
||
MinTermFreq |
||
MinDocFreq |
||
MinWordLength |
||
MaxWordLength |
||
MaxQueryTerms |
||
BoostTerms |
||
Enable |
||
RequireFieldMatch |
||
SimplePre |
||
SimplePost |
||
SnippetsPerField |
||
FragmentSize |
||
ExtensionDirectories |
||
SearchEngine |
||
SearchViewHandling |
||
AllowEmptySearch |
||
TranslationExtensions |
Configuration file: ezfind.ini
[SiteSettings]
This configuration group contains the settings regarding your site.
Possible settings for this configuration group (Note that default values are listed in bold):
- URLProtocol=https:// | http://
- IndexPubliclyAvailable= disabled | enabled
- SearchOtherInstallations= disabled | enabled
URLProtocol
Possible configuration settings are:
- URLProtocol=https:// | http://
This setting will set how to prepend the site's URL either with "http://" or "https://".
Default value is:
URLProtocol=http://
IndexPubliclyAvailable
Possible configuration settings are:
- IndexPubliclyAvailable=enabled | disabled
This setting allows you to make the site index publicly available. Note that in order for the changes made here to take effect, the search index must be updated, which can be done by running the following file:
bin/php/updatesearchindex.php
Default value is:
IndexPubliclyAvailable=disabled
SearchOtherInstallations
Possible configuration settings are:
- SearchOtherInstallations=enabled | disabled
This settings enables or disables the ability to search other installations.
Default value is:
SearchOtherInstallations=disabled
[SearchHandler]
DefaultSearchHandler
Possible configuration settings are (Note that default values are listed in bold):
- DefaultSearchHandler=standard
- DefaultSearchHandler=simplestandard
- DefaultSearchHandler=ezpublish
- DefaultSearchHandler= heuristic
This sets the Solr SearchHandler. Possible options being the following:
- standard: this sets the use of the Solr standard handler with all syntax supported. Searching is done against all searcheable fields.
- simplestandard: this sets the use of the Solr standard handler with all syntax supported. But searching is done against the aggregated field ezf_df_text.
- ezpublish: this sets the use of the recommended handler (Solr dismax based) for typical user searches, using keywords without boolean or other operators except for + (required) and - (excluding).
- heuristic: depending on the presence of special characters indicating boolean, wildcard or fuzzy expressions, either the standard or dismax handler is used.
Default value is:
DefaultSearchHandler=heuristic
[LanguageSearch]
It is possible to use eZ Find to search all languages simultaneously, but the common use is to search only the main language. This configuration group permits you to define these search settings.
Possible settings for this configuration group (Note that default values are listed in bold):
- SearchMainLanguageOnly= enabled | disabled
- MultiCore=enabled | disabled
- DefaultCore=<string>
- LanguagesCoreMap[<locale>]=<coreName>
SearchMainLanguageOnly
Possible configuration settings are:
- SearchMainLanguageOnly= enabled | disabled
For example, let's presume your site.ini has the following RegionalSettings:
[RegionalSettings] SiteLanguageList[] SiteLanguageList[]=eng-GB SiteLanguageList[]=fre-FR
If SearchMainLanguageOnly is set to 'enabled', only search results in the first language set in your "site.ini" "[RegionalSettings] SiteLanguageList[]=" will be returned. So with the above settings only matching results in eng-GB will be returned.
When SearchMainLanguageOnly is set to 'disabled', results will be returned with respect to the fallback defined in "site.ini" "[RegionalSettings] SiteLanguageList[]". So of all matching results, the ones in eng-GB will be returned, and for results with no translation in eng-GB, the fre-FR results will be returned.
Default value is:
SearchMainLanguageOnly=enabled
MultiCore
Possible configuration settings are:
- MultiCore=enabled | disabled
If this setting is enabled, each language will be indexed in a distinct Solr core in order to provide better language specific analysis.
Default value is:
MultiCore=disabled
DefaultCore
Configuration syntax is:
DefaultCore=<string>
This setting regarding the default Solr core can be used for two purposes:
- To index languages that are not mapped to a specific core
- To function as a hub when searching, since one core must contact all the other ones.
Default value is:
DefaultCore=eng-GB
LanguagesCoreMap
Configuration syntax is:
LanguagesCoreMap[<locale>]=<coreName>
Each language must be mapped to its own core. Keep in mind that unmapped languages won't be indexed, so make sure your configuration is complete.
Example setting
LanguagesCoresMap[] LanguagesCoresMap[eng-GB]=eng-GB LanguagesCoresMap[fre-FR]=fre-FR LanguagesCoresMap[nor-NO]=nor-NO
Default value is:
LanguagesCoreMap[]
[AutoCompleteSettings]
Possible settings for this configuration group are (Note that default values are listed in bold):
- AutoComplete= enabled | disabled
- Limit=<integer>
- FacetField=<field>
- FacetMethod=<method>
- MinQueryLength=<integer>
Auto-complete
Possible configuration settings are:
- AutoComplete=enabled | disabled
This setting allows you to enables the auto-complete feature on your installation.
The default value is:
AutoComplete=enabled
Limit
Configuration syntax is:
Limit=<integer>
This setting allows you to set the maximum number of suggestions to return from search engine while using the autocomplete function.
The default setting is:
Limit=10
FacetField
Configuration syntax is:
FacetField=<field>
This setting allows you to set the facet field from the schema that will be used to provide results for the auto-complete. Custom fields can also be defined and used.
The default value is:
FacetField=ezf_sp_words
Defining and a custom FacetField for autocomplete on schema.xml
<fields> <field name="my_autocomplete_field" type="textgen" indexed="true" stored="true" multiValued="true"/> </fields> <copyField source="*_lk" dest="my_autocomplete_field"/>
The above example will declare a custom FacetField "my_autocomplete_field" and consider only lowercase tags, by the usage of "*_lk" in the source of your copyField.
For more details about copyField's, please look into your schema.xml file, and read the official Solr documentation.
FacetMethod
Configuration syntax is:
FacetMethod=fc | fcs | enum
This setting specifies the facet method to use. Can be fc (default value, which stands for Field Cache), fcs (stands for Field Cache per Segment), or enum, which will use enum based field queries (best for large indexes). More details in solr's official documentation.
The default setting is:
FacetMethod=fc
MinQueryLength
Configuration syntax is:
MinQueryLength=<integer>
This setting defines the number of characters that must be entered before querying for results. A 0 (zero) value permits queries of null or empty string values. If a negative value is used, the auto-complete function is disabled.
The default value is:
MinQueryLength=2
Note: The SolrParams setting does not makes part of the ini configurations anymore, since it was deprecated and has been included directly in the code, in the ezfindservercallfunctions.php file.
[SpellCheck]
Possible settings for this configuration group (Note that default values are listed in bold):
- SpellCheck= enabled | disabled
- DefaultDictionary=default
SpellCheck
Possible configuration settings are:
- SpellCheck= enabled | disabled
This setting lets you enable the spell-checking functionality for your installation.
Default value is:
SpellCheck=enabled
DefaultDictionary
Possible configuration settings are:
- DefaultDictionary=default
This setting is limited to the default for now. Its realms are to be supported later, for example per language or using external dictionaries. These settings can also be specified in the spell check parameters in search requests.
Default value is:
DefaultDictionary=default
[FacetSettings]
SiteNameList
Cnfiguration syntax is:
SiteNameList[<ID>]=<name>
Use this setting to set the installation name map. Use the installation ID as the key and the name displayed in the design templates as value. In order to get the value, use this SQL setting:
SELECT value FROM ezsite_data WHERE name='ezfind_site_id'
Example setting
SiteNameList[3e731797af0a6b79e943eefaf437f956]=eZ.no
Default value is:
SiteNameList[]=
[SolrFieldMapSettings]
Possible settings for this configuration group:
- CustomMap[<datatype string>]=<name of the class>
- DatatypeMap[<datatype string>]=<name of the class>
- DatatypeMapSort[<datatype string>]=<name of the class>
- DatatypeMapFacet[<datatype string>]=<name of the class>
- Default=<string>
CustomMap
Configuration syntax is:
CustomMap[<datatype string>]=<name of the class>
This lists the custom datatype maps. eZ Publish datatype string is used as key and the value is the name of the class which should be use.
Since eZ Find 2.3 eztext attributes are also used to store (partial) html markup. To avoid highlighting problems the custom XML handler can be used.
Example settings
CustomMap[eztext]=ezfSolrDocumentFieldText CustomMap[dummy_example]=ezfSolrDocumentFieldDummyExample CustomMap[ezobjectrelation]=ezfSolrDocumentFieldObjectRelation CustomMap[ezobjectrelationlist]=ezfSolrDocumentFieldObjectRelation CustomMap[ezxmltext]=ezfSolrDocumentFieldXML CustomMap[ezxmatrix]=ezfSolrDocumentFieldXML
As mentioned, since eZ Find 2.3 the custom XML handler can also be used for the eztext attributes like in the following example:
CustomMap[eztext]=ezfSolrDocumentFieldXML
Default value is:
CustomMap[]=
DatatypeMap
Configuration syntax is:
DatatypeMap[<datatype string>]=<name of the class>
This setting is available since ez find 2.2. and it sets the datatype to field type maps. This is used for searching, for facets and sorting others mappings may be used.
Example settings
DatatypeMap[ezstring]=text DatatypeMap[eztext]=text DatatypeMap[ezboolean]=boolean DatatypeMap[ezdate]=date DatatypeMap[ezdatetime]=date DatatypeMap[ezfloat]=sfloat DatatypeMap[ezinteger]=sint DatatypeMap[ezprice]=sfloat DatatypeMap[eztime]=date DatatypeMap[ezkeyword]=lckeyword
Default value is:
DatatypeMap[]=
DatatypeMapSort
Configuration synstax is:
DatatypeMapSort[<datatype string>]=<name of the class>
This setting is available since eZ Find 2.2. It sets mapping for datatypes to sortable fields, which usually means very little transformations at index time. If the setting is not specified, the search mapping is used.
Example setting
DatatypeMapSort[ezstring]=string
Default value is:
DatatypeMapSort[]=
DatatypeMapFacet
Configuration syntax is:
DatatypeMapFacet[<datatype string>]=<name of the class>
This setting is available since ez find 2.2. This setting is used for facets, but the mapping is also to be re-used for facet filters. This may be different from normal filtering, which will most likely use the normal search fields types (tokenized fully, stemmed, ...)
Example settings
DatatypeMapFacet[ezstring]=simpletext DatatypeMapFacet[ezkeyword]=lckeyword
Default value is:
DatatypeMapFacet[]=
DatatypeMapFilter
Configuration syntax is:
DatatypeMapFilter[<datatype string>]=<name of the class>
This setting is available since ez find 2.2. This setting is used for facets, but the mapping is also to be re-used for facet filters. This may be different from normal filtering, which will most likely use the normal search fields types (tokenized fully, stemmed, ...)
Examples
DatatypeMapFilter[ezstring]=simpletext DatatypeMapFilter[ezkeyword]=lckeyword
Default value is:
DatatypeMapFilter[]=
Default
Configuration syntax is:
Default=<string>
Sets the default field type.
Default value is:
Default=text
[IndexOptions]
Possible settings for this configuration group (Note that default values are listed in bold):
- OptimizeOnCommit= enabled | disabled
- DisableDirectCommits=true | false
- CommitWithin=<integer>
- DisableDeleteCommits=true | false
- EnableSolrAttributeStorage=true | false
OptimizeOnCommit
Possible configuration setting is:
- OptimizeOnCommit= enabled | disabled
This setting controls the behaviour of the addObject and deleteObject calls with respect to optimizing the Solr Index on commits. If this setting is disabled, a cronjob should be set up to schedule optimize actions.
Default value is:
OptimizeOnCommit=enabled
DisableDirectCommits
Possible configuration settings is:
- DisableDirectCommits=true | false
When set to true, another mechanism must be enabled to do commits:
- cronjob
- solrconf.xml
- by giving "CommitWithin" a positive value (expressed in milliseconds).
Default value is:
DisableDirectCommits=false
CommitWithin
Configuration syntax is:
CommitWithin=<integer, milliseconds>
This setting was added to eZ Find 2.2. If "CommitWithin" is set to a positive value, the delayed commits will be added with every addObject call. If "CommitWithin" is set to 0, which is the default setting, the setting will be ignored. The value is set in milliseconds.
Default value is:
CommitWithin=0
DisableDeleteCommits
Possible configuration settings are:
- DisableDeleteCommits=true | false
This setting was added to eZ Find 2.2. When using this option keep in mind that deleted objects may still show up in search results, which might lead to (fatal) errors. So if you set DisableDeleteCommits to true, make sure you have a frequent commit cronjob enabled to minimize errors.
Default value is:
DisableDeleteCommits=false
EnableSolrAttributeStorage
Possible configuration settings are:
- EnableSolrAttributeStorage=true | false
This setting was added to eZ Find 2.3. It configures the attribute storage in the Solr backend. Keep in mind that enabling this setting may inflate the index size on large installations and indexing is also 20-30% slower as more operations are needed on the eZ Publish side.
Default value is:
EnableSolrAttributeStorage=false
[IndexBoost]
Possible settings for this configuration group:
- MetaField[<attribute identifier>]=<boost factor as int or float>
- Class[<attribute identifier>]=<boost factor as int or float>
- Attribute[<attribute identifier>]=<boost factor as int or float>
- Datatype[<attribute identifier>]=<boost factor as int or float>
- ReverseRelatedScale=<number>
MetaField
Configuration syntax is:
MetaField[<attribute identifier>]=<string>
Note that this setting is not yet implemented at time of writing! It sets boost factors on meta fields and defines boost per field.
Exampl e settings
MetaField[name]=2.0 MetaField[owner_name]=2.0
Default value is:
MetaField[]=
Class
Configuration syntax is:
Class[<attribute identifier>]=<boost factor as int or float>
This sets the class boost or the boost factors at document (object) level.
Example
Class[user]=3.0
Default value is:
Class[]=
Attribute
Configuration syntax is:
Attribute[<attribute identifier>]=<boost factor as int or float>
This sets the attribute boost or the boost factors on attributes at field level. It is possible to specify the class identifier as an optional element to have the greatest flexibility. Note that when more than one attribute identifier is used, the last one will have precedence.
Example settings
Attribute[user/last_name]=2.0 Attribute[user/first_name]=2.0 Attribute[title]=1.5
Default value is:
Attribute[]
Datatype
Configuration syntax is:
Datatype[<attribute identifier>]=<boost factor as int or float>
This setting defines boost factors on attributes at field level based on their datatype.
Example setting
Datatype[ezkeyword]=3.0
Default value is:
Datatype[]
ReverseRelatedScale
Configuration syntax is:
ReverseRelatedScale=<boost factor as int or float>
For this setting, you must scale the boost factor to use like this:
$boost = $boost + <scalefactor> * <number of reverse relations>
Example
ReverseRelatedScale=0.5
Default value is:
ReverseRelatedScale=0
[IndexExclude]
ClassIdentifierList
Use this setting to exclude certain objects from indexing altogether. For now only classes are supported for this setting.
Example
ClassIdentifierList[] ClassIdentifierList[]=folder ClassIdentifierList[]=secret
Default setting is:
ClassIdentifierList[]
[SearchFilters]
Possible settings for this configuration group (Note that default values are listed in bold):
- RawFilterList[]=
- FilterHiddenFromDB=enabled | disabled
RawFilterList
Possible configuration setting is:
- RawFilterList[]=
This sets the search filters to be applied for every query made. This setting currently supports one filter type: a raw Solr query string. Please note that these are expert settings.
Example on how to exclude certain classes:
RawFilterList[]='meta_class_identifier_s:[* TO *] -meta_class_identifier_s:folder'
Default value is:
RawFilterList[]
FilterHiddenFromDB
Possible configuration settings are:
- FilterHiddenFromDB= disabled | enabled
A workaround for non indexed hidden nodes is needed for eZ Publish versions 4.0 and 4.1 when cronjobs are not enabled: Set to enabled if this is the case.
Default value is:
FilterHiddenFromDB=disabled
[MoreLikeThis]
Possible settings for this configuration group (Note that default values are listed in bold):
- ExtractionFields= general | native
- MinTermFreq=<integer>
- MinDocFreq=<integer>
- MinWordLength=<integer>
- MaxWordLength=<integer>
- MaxQueryTerms=<integer>
- BoostTerms= true | false
Note that adjusting these settings is experimental!
ExtractionFields
Possible configuration settings are:
- ExtractionFields= general | native
The fields that can be used for query term extraction are "native" or "general". The latter currently uses the aggregate field ezf_df_t, but this is subject to change. Therefore it is best is to have dedicated aggregator fields with their own analyzers.
Default value is:
ExtractionFields=general
MinTermFreq
Configuration syntax is:
MinTermFreq=<integer>
This parameters can be tuned for the more like this function and sets the minimum term frequency.
Default value is:
MinTermFreq=1
MinDocFreq
Configuration syntax is:
MinDocFreq=<integer>
This parameters can be tuned for the more like this function and sets the minimum document frequency.
Default value is:
MinDocFreq=1
MinWordLength
Configuration syntax is:
MinWordLength=<integer>
This parameters can be tuned for the more like this function and sets the minimum word length.
Default value is:
MinWordLength=4
MaxWordLength
Configuration syntax is:
MaxWordLength=<integer>
This parameters can be tuned for the more like this function and sets the maximum word length.
Default value is:
MaxWordLength=30
MaxQueryTerms
Configuration syntax is:
MaxQueryTerms=<integer>
This parameters can be tuned for the more like this function and sets the maximum query terms to extract from the object.
Default value is:
MaxQueryTerms=10
BoostTerms
Possible configuration settings are:
- BoostTerms= true | false
This parameters can be tuned for the more like this function and sets the use of popularity to boost the query terms.
Default value is:
BoostTerms=true
Note: Boost Factors
Keep the following in mind when using boost factor for indexing:
When multiple boost factors match, they are added, not multiplied. But beware of mixing boost factors on class and attribute level: Solr & Lucene do multiply the class boost factor with the attribute boost factor.
[HighLighting]
Possible settings for this configuration group:
- Enable=<true/false>
- RequireFieldMatch=<true/false>
- SimplePre=<b>
- SimplePost=</b>
- SnippetsPerField=<integer>
- FragmentSize=<integer>
Enable
The configuration syntax is:
Enable=<true/false>
This setting enables or disables the Highlighting functionality. "Enable" means that matched fields in a search will be highlighted whereas "false" will mean no highlighting. Set to "false" if Solr becomes slow with very big documents. Also set to "false" if you have content that is connected to other content via the object relations mechanism and that connection is sufficiently complex, because eZ Find might eventually timeout and yield no results. The parameter is described by the following text in the Solr documentation: http://wiki.apache.org/solr/HighlightingParameters#hl.simple.pre.2BAC8-hl.simple.post
RequireFieldMatch
The configuration syntax is:
RequireFieldMatch=<true/false>
This parameter will used in the Solr query in the "hl.requireFieldMatch" parameter which is described by the following text in the Solr documentation: http://wiki.apache.org/solr/HighlightingParameters#hl.requireFieldMatch. If "true", then a field will only be highlighted if the query matched in this particular field (normally, terms are highlighted in all requested fields regardless of which field matched the query).
SimplePre
The configuration syntax is:
SimplePre=<b>
This setting sets the tag that will be used for highlighting the match to bold.
SimplePost
The configuration syntax is:
SimplePre=</b>
This setting sets the ending of the tag that highlights the match. The "SimplePre" and "SimplePost" parameters are described by the following text in the Solr documentation: http://wiki.apache.org/solr/HighlightingParameters#hl.fragmentsBuilder
SnippetsPerField
The configuration syntax is:
SnippetsPerField=<integer>
This setting sets the maximum number of highlighted snippets to generate per field (attribute). Default value is:
SnippetsPerField=1
FragmentSize
Configuration syntax is:
FragmentSize=<integer>
Sets the maximum number of characters to use for a highlight snippet
Default value is:
FragmentSize=200
Configuration file: Site.ini
[SearchSettings]
Sets the eZ Find overload search settings.
Possible settings for this configuration group (Note that default values are listed in bold):
- ExtensionDirectories[]=<string>
- SearchEngine=<string>
- SearchViewHandling=default | template
- AllowEmptySearch= enabled | disabled
ExtensionDirectories
Configuration syntax is:
ExtensionDirectories[]=<string>
This setting tells the system where to look for search engine plugins.
Default value is:
ExtensionDirectories[]=ezfind
SearchEngine
Configuration syntax is:
SearchEngine=ezsolr
This setting sets which search engine to use.
Default value is:
SearchEngine=ezsolr
SearchViewHandling
Possible configuration settings are:
- SearchViewHandling=default | template
Defines if searches are handled by the search view or in the template. This setting has two options:
- default: The view code does the search and passes the result to template. The template is only responsible for displaying the result.
- template: The template does the search and passes the result back to the view code. This way you have to "program" the search yourself providing more flexibility.
"Template" is the recommended setting.
Default value is:
SearchViewHandling=template
AllowEmptySearch
Possible configuration settings are:
- AllowEmptySearch= enabled | disabled
Defines if users can search for nothing. Empty search is allowed by default for eZ Find, since it does not use extra resources compared to regular search.
Default value is:
AllowEmptySearch=enabled
[RegionalSettings]
TranslationExtensions
Configuration syntax is:
TranslationExtensions[]=<string>
Sets the extensions that hold translations
Default value is:
TranslationExtensions[]=ezfind
Geir Arne Waaler (06/06/2011 1:25 pm)
Ricardo Correia (16/09/2013 10:48 am)
Comments
There are no comments.