ibexa

Caution: This documentation is for eZ Publish legacy, from version 3.x to 5.x.

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

ezfind.ini

[SiteSettings]

URLProtocol

   

IndexPubliclyAvailable

   

SearchOtherInstallations

 

[SearchHandler]

DefaultSearchHandler

 

[LanguageSearch]

SearchMainLanguageOnly

   

MultiCore

   

DefaultCore

   

LanguagesCoreMap

 

[AutoCompleteSettings]

AutoComplete

   

Limit

   

FacetField

   

FacetMethod

   

MinQueryLength

 

[SpellCheck]

SpellCheck

   

DefaultDictionary

 

[FacetSettings]

SiteNameList

 

[SolrFieldMapSettings]

CustomMap

   

DatatypeMap

   

DatatypeMapSort

   

DatatypeMapFacet

   

DatatypeMapFilter

   

Default

 

[IndexOptions]

OptimizeOnCommit

   

DisableDirectCommits

   

CommitWithin

   

DisableDirectCommits

   

EnableSolrAttributeStorage

 

[IndexBoost]

MetaField

   

Class

   

Attribute

   

Datatype

   

ReverseRelatedScale

 

[IndexExclude]

ClassIdentifierList

 

[SearchFilters]

RawFilterList

   

FilterHiddenFromDB

 

[MoreLikeThis]

ExtractionFields

   

MinTermFreq

   

MinDocFreq

   

MinWordLength

   

MaxWordLength

   

MaxQueryTerms

   

BoostTerms

 

[HighLighting]

Enable

   

RequireFieldMatch

   

SimplePre

   

SimplePost

   

SnippetsPerField

   

FragmentSize

Site.ini

[SearchSettings]

ExtensionDirectories

   

SearchEngine

   

SearchViewHandling

   

AllowEmptySearch

 

[RegionalSettings]

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 (05/10/2011 11:47 am)

Ricardo Correia (16/09/2013 10:50 am)

Geir Arne Waaler, Ricardo Correia


Comments

There are no comments.