29-11-2011 : Remettre dans le débat politique les principes du Conseil National de la Résistance
17-02-2012 : Pétition pour une protection de l’apiculture et des consommateurs face au lobby des OGM
Logo de mon site
Logo de mon site
Faire un don

Luxpopuli / eZ Publish / Extensions / eZ Publish : moteur de recherche eZ Find 2.6 / eZ Find 2.6 : Template fetch functions -- Les fonctions de recherche





Right menu

Logo du site ez.no  Logo XHTML 1.O du W3C  Logo XHTML 1.O du W3C  Site francophone officiel de Firefox
zero papier grâce aux catalogues et promos en ligne de bonial

eZ Publish : moteur de recherche eZ Find 2.6

Table des matières

  1. eZ Publish : moteur de recherche eZ Find 2.6
  2. Quoi de neuf dans eZ Find 2.6 ?
  3. 1 - Prérequis
  4. 2 - Installation
  5. 2.1 - Backend Solr
  6. 3 - Configuration de base
  7. 3.1 - Paramètres de configuration
  8. 3.2 - Indexation de contenus
  9. 3.3 - Mise à jour de l'index de recherche
  10. 4 - Configuration avancée
  11. 4.1 - Pondération Index-Time
  12. 4.2 - Indexation et recherche sur plusieurs sites
  13. 4.3 - La fonction multi-cœur
  14. 4.4 - Archivage
  15. 4.4.1 - Configurer l'archivage
  16. 4.4.2 - Comment utiliser la fonction d'archivage
  17. 5 - Personnalisation
  18. 5.1 - Personnalisation des facettes et de la navigation de type «drill down»
  19. 5.2 - Les fonctions de recherche
  20. 5.3 - La fonction More Like This
  21. 5.4 - Personnalisation des templates de résultats
  22. 5.5 - Pondérer des composants ou les «résultats sponsorisés»
  23. 5.6 - Recherche auto-complétée
  24. 6 - Utilisation
  25. 6.1 - Recherche basique
  26. 6.1.1 - Recherche auto-complétée
  27. 6.2 - Recherche avancée
  28. 6.2.1 - Ajuster la pertinence du classement
  29. 6.2.2 - Trier et filtrer
  30. 6.2.3 - Contenu lié automatiquement ou «More Like This» (Plus à ce sujet)
  31. 6.2.4 - Rechercher de contenu externe
  32. 6.2.5 - Fonctionnalités linguistiques
  33. 6.2.6 - Contrôle orthographique
  34. 7 - Liens

eZ Find 2.6 : Template fetch functions -- Les fonctions de recherche

Date de publication: le samedi 26 novembre 2011 à 15h57
Dernière modification: par Pascal BOYER le samedi 26 novembre 2011 à 22h28

07/10/2011 1:19  

Dedicated template fetch functions were introduced in eZ Find 2.0:
Des fonctions de recherche dédiées ont été introduite à l'occasion de la sortie d'eZ Find 2.0

For example:
Par exemple:

fetch(ezfind, search, hash(<parameters>))

Returns eZ Find search results exposing the powerful features of the backend Solr.
renvoie des résultats de recherche mettant en lumière la puissance du back-end Solr.

fetch(ezfind, MoreLikeThis, hash(<parameters>))

Finds related content with heuristic techniques.
recherche de manière heuristique du contenu en rapport avec un sujet donné.

fetch(ezfind, rawSolrRequest, hash(<parameters>))

Allows for “raw” Solr requests (not for normal use, but for example to search “foreign” Solr or Lucene indexes).
permet les requêtes brutes (ne convient pas à une utilisation normale mais pour rechercher, par exemple, des index Solr ou Lucene «étrangers»)

Fetch parameters / Paramètres de recherche

Review the table for the available fetch parameters. You can click on the parameters for a more elaborate explanation and some examples, or you can scroll down this page and find the explanations and examples of all parameters.
Le tableau ci-dessous présente les paramètres de recherche disponibles. Vous pouvez soit cliquer sur un paramètre (ndt: les ancres ne fonctionnent pas avec OE 5.2) pour vous rendre directement à la description et aux exemples qui lui sont consacrés soit parcourir cet article pour découvrir les descriptions et exemples consacrés à l'ensemble des paramètres.

Name
Nom
Type Description Required
Requis
query String
Chaîne de caractères
Search query string
Recherche une chaîne de caractères
No
Non
offset Integer
Entier
Result offset
Décalage des résultats proposés
No
Non
limit Integer
Entier
Result count limit
Limite le nombre de résultats recherchés
No
Non
sort_by Array
Tableau
Sort definition
Méthode de tri
No
Non
facet Array
Tableau
Facet query definition
Définition des requêtes à facettes
No
Non
filter Mixed
Mixte
Search filter, independent from ranking
Filtre de recherche indépendant du classement
No
Non
class_id Mixed
Mixte
Class ID limitation
Limitation à certaines classes
No
Non
subtree_array Array
Tableau
List of subtree limitations
Liste de limites à des arborescences
No
Non
section_id Integer
Entier
Section filter
Filtre de section
No
Non
ignore_visibility Boolean
Booléen
Visibility filter
Filtre de visibilité
No
Non
limitation Array
Tableau
Override of the current user's access array to the 'read' function of the 'content' module.
Surcharge, pour l'utilisateur courant, le tableau des droits d'accès à la fonction read du module content.
No
Non
as_objects Boolean
Booléen
Not implemented yet
Pas encore implémenté
No
Non
spell_check Array
Tableau
Configure the spell checking behaviour
Configure le comportement du correcteur d'orthographe
No
Non
query_handler String
Chaîne de caractères
Which search handler to use
Le gestionnaire de recherche à utiliser
No
Non

query

The query parameter can contain one or multiple search terms. The query is used to rank and limit the search results. For information about standard Solr query syntax, visit http://wiki.apache.org/solr/SolrQuerySyntax and http://lucene.apache.org/java/docs/queryparsersyntax.html 
Ce paramètre peut contenir un ou plusieurs termes/mots à rechercher. La requête est utilisée pour classer et limiter les résultats. Visitez les pages http://wiki.apache.org/solr/SolrQuerySyntax et http://lucene.apache.org/java/docs/queryparsersyntax.html pour consulter la documentation sur la syntaxe des requêtes standard de Solr.

Exemple:
fetch( ezfind, search, hash( query, 'eZ Systems' ) )
Renvoie:

Returns all documents containing the words “ez” and “systems”.
tous les documents contenant les mots ez et systems.

Exemple:
fetch( ezfind, search, hash( query, '”eZ Systems”' ) )
Renvoie:

Returns all documents containing the term “ez systems”.
tous les documents contenant le terme ez systems.

offset

Search result offset. The default value is “0”.
Décalage des résultats. La valeur par défaut est 0 (zéro).

Exemple:
fetch( ezfind, search, hash( query, 'eZ Systems', offset, 20 ) )
Renvoie:

Returns documents containing the words “ez” and “systems”, starting from the 20th result.
les documents contenant les mots ez et systems à partir du 20ème résultats (ndt: les résultats 0 à 19 seront ignorés)

limit

Search result count limitation. The default value is “10”.
Limite le nombre de résultats recherchés. La valeur par défaut est 10.

Exemple:
fetch( ezfind, search, hash( query, 'eZ Systems', offset, 0, limit, 25 ) )
Renvoie:

Returns the first 25 documents that contain the words “ez” and “systems”.
les 25 premiers documents contenant les mots ez et systems.

sort_by

The sort_by parameter is used to define the sort order of the search result. It supports the following options:
Ce paramètre, utilisé pour définir l'ordre de tri des résultats, supporte les options suivantes:

Key
Clef
Description
relevance Default option. Sorts the result by Solr internal relevancy calculations.
Option par défaut. Tri les résultats en fonction des calculs de pertinence de Solr.
score Alias to “relevance”
Un alias de l'option relevance
< class attribute > Content class attribute, following the syntax “<class_identifier>/<class_attribute>[/<sub_structure>]”
Attribut de classe de contenu, suit la syntaxe “<class_identifier>/<class_attribute>[/<sub_structure>]”
modified Modified time
Heure de dernière modification
published Published time
Heure de publication
author Author name
Nom de l'auteur
class_name Content class name
Nom de la classe de contenu
class_id Content class identifier or content class ID
Identifiant ou ID de la classe de contenu
name Content object name
Nom de l'objet de contenu
path Node location path
Chemin vers l'emplacement du nœud
section_id Section ID
ID de la section

All sort keys can be used to sort in ascending (“asc”) or descending (“desc”) order. It is also possible to specify multiple sort options in the same fetch function.
Toutes les clefs de tri peuvent être utilisées conjointement aux ordres de tri ascendant (asc) ou descendant (desc). Il est également possible de cumuler les options de tri à l'intérieur d'une fonction de recherche.

Exemple:
fetch( ezfind, search, hash( query, 'eZ Systems', sort_by,
hash( class_name, asc, published, desc ) ) )
Renvoie:

Returns all documents containing the words “ez” and “systems”. The results are sorted by the content class name in ascending order and then by the published time in descending order.
tous les documents contenant les mots ez et systems. Les résultats seront triés par nom de classe de contenu dans l'ordre ascendant puis dans l'ordre descendant des heures de publication.

<class_attribute>

Sorting can be done based on a content class attribute field, specified by its ID number or identifier. If the content class attribute datatype extends ezfSolrDocumentFieldBase, the sub-structure can be used as well.
Le tri peut être réalisé en fonction du champ d'un attribut de classe de contenu en spécifiant le numéro de ID ou l'identifiant de cet attribut. Si le dataype lié à l'attribut de la classe étend (???) ezfSolrDocumentFieldBase, alors la sous-structure peut également être utilisée.

Exemple:
fetch( ezfind, search, hash( query, 'eZ Systems', sort_by,
hash( 'article/title', 'asc' ) ) )
Renvoie:

Returns all documents containing the words “ez” and “systems”, sorted by the article title in ascending order.
tous les documents contenant les mots ez et systems triés par titre (des articles) et dans l'ordre ascendant.

Exemple:
fetch( ezfind, search, hash( query, 'eZ Systems', sort_by, hash( 'article/options/opt1', 'asc' )))
Renvoie:

Returns all documents containing the words “ez” and “systems”, sorted by the “opt1” part of the article options.
tous les documents contenant les mots ez et systems triés en fonction de l'option opt1 des articles et dans l'ordre ascendant.

Exemple:
fetch( ezfind, search, hash( query, 'eZ Systems', sort_by, hash( 234, 'asc' ) ) )
Renvoie:

Returns all documents containing the words “ez” and “systems”, sorted by the content class attribute with an ID of “234”, in ascending order.
tous les documents contenant les mots ez et systems triés en fonction de l'attribut de classe de ID 234 et dans l'ordre ascendant.

facet

The facet parameter is used to define the facet query that should be performed. The results include information about the facets and facet groups relevant to the current search and are returned in addition to the normal query results. It is possible to perform multiple facet queries in one fetch request.
Ce paramètre est utilisé pour définir la requête à facette à traiter. Les résultats incluent des informations sur les facettes et les groupes de facettes en rapport avec la recherche courante et sont renvoyées en plus des résultats de la requête. Il est possible d'effectuer plusieurs requêtes à facettes en une seule recherche.

The following facet options are available:
Les options de facette suivantes sont disponibles:

Option Description
field

The object characteristic that will serve as the facet. This can be a field, specified using the syntax “<class_identifier>/<class_attribute>[/<sub_structure>]”.
The sub-structure is only available for complex datatypes. To enable “<sub_structure>” support, the datatype must contain distinct sub-items (such as the alternative image text for images) and these sub-items must be indexed.
Other supported characteristics are:
La caractéristique de l'objet qui servira de facette. Ce peut être un champ spécifié par la syntaxe "<class_identifier>/<class_attribute>[/<sub_structure>]".
La sous-structure ("[/<sub_structure]") n'est disponible que pour les datatypes complexes et pour activer le support de <sub_structure> le datatype doit contenir des sous-éléments distincts (tel que le texte alternatif d'une image) devant être indexés.
Les autres caractéristiques supportées sont:

  • author – content object author / l'auteur de l'objet de contenu
  • class – content class / la classe de contenu
  • translation – translation / les traductions
query Facet query. The facet queries are used to specify facets for the sub-selection of content object attributes.
Requête à facette. Elles sont utilisées pour préciser les facettes pour les sous-sélections des attributs des objets.
prefix Limits the facet fields to only list facet groups where the field value starts with the prefix.
Limite les champs de facettes à ne lister que les groupes/facettes où la valeur du champ commence par le préfix.
sort Sort by “count” or “alpha”. “alpha” will sort the facet results alpha-numerically by field value.
count ou alpha sont les critères de tri. alpha triera les résultats alphanumériquement en fonction de la valeur du champ.
limit Maximum number of facet groups to return. The default value is “20”.
Nombre maximum de groupes/facettes à retourner. La valeur par défaut est 20.
offset Offset. The default value is “0”.
Décalage. La valeur par défaut est 0 (zéro).
mincount Returns only facet groups with more results than the specified minimum count. The default value “0”.
Ne renvoie que les groupes/facettes ayant plus de mincount résultats. La valeur par défaut est 0 (zéro).
missing If set to “true”, the results will also include facet groups with no results. The default value is “false”.
Si défini à true alors les résultats incluront également les groupes/facettes n'ayant pas de résultat. La valeur par défaut est false.
date.start Start date for facet. This must be specified using a strict dateTime syntax.
Facette Date de début. Doit être indiquée en utilisant syntaxe date Time tricte .
date.end End date for facet. This must be specified using a strict dateTime syntax.
Facette Date de fin. Doit être indiquée en utilisant syntaxe date Time tricte .
date.gap Size of date range.
Étendue de la plage de dates.

Below are examples and more detailed descriptions of the different facet options.
Ci-dessous, des exemples et des descriptions détaillées des différentes options des facettes.

Exemple:
fetch( ezfind, search, hash( 'query', 'Cabriolet', facet',
array( hash( 'field','car/model', 'limit', 20 ) ) ) )
Renvoie:

Returns a list of 10 documents containing the word “cabriolet” and a facet list with 20 groups of car models (this is specific to “model” attributes of objects of the “car” class) also containing the word “cabriolet”.
une liste de 10 documents contenant le mot cabriolet et une liste/facette de 20 groupes de modèles de voitures (spécifique aux attributs model des objets de la classe car) contenant également le mot cabriolet.

Exemple:
fetch( ezfind, search,
hash( 'query', 'Cabriolet',
'facet', array( hash( 'field', 'car/make',
'limit', 25 ),hash( 'field', 'car/size',
'missing', true(),'limit', 25 ))))
Renvoie:

Returns a list of 10 documents containing the word “cabriolet” and one facet list with 25 groups of car makes (this is specific to “make” attributes of objects of the “car” class) and another facet list with 25 groups of car sizes (this is specific to “size” attributes of objects of the “car” class), both containing the word “cabriolet”. The “car/size” results will also list elements with 0 matching elements.
une liste de 10 documents contenant le mot cabriolet, une liste/facette de 25 groupes de marques de voitures (spécifique aux attributs make des objets de la classe car) et une autre liste/facette de 25 groupes de tailles de voitures (spécifique aux attributs size des objets de la classe car), ces deux listes/facettes contenant le mot cabriolet. Les résultats relatifs à la taille (car/size) listeront également les éléments n'ayant aucune correspondance.

Exemple:
fetch( ezfind, search,
hash( query, 'eZ Systems',
facet, array( hash( query, 'path:2' ),
hash( query, 'path:5' ) ) ) )
 
Renvoie:

Returns a list of 10 documents containing the word “cabriolet” and a facet list with groups in the subtree with a parent node with an ID of “2”, and another facet list with groups in the subtree with a parent node with an ID of “5”.
For more information about facets, see: http://wiki.apache.org/solr/SimpleFacetParameters
une liste de 10 documents contenant les mots ez et systems, une liste/facette de groupes de l'arborescence dont le nœud parent a une ID de 2 et une autre liste/facette de groupes de l'arborescence dont le nœud parent a une ID de 5.
Pour de plus amples informations sur les facettes, veuillez consulter la page http://wiki.apache.org/solr/SimpleFacetParameters

filter

The filter is used when creating faceted search templates for drill-down navigation. Filters are used to limit the search result set without altering the relevancy sort order. Facet results contain filter definitions that can be used directly. Custom filter definitions can also be created.
A filter is specified by <class_identifier>/<class_attribute>[/<sub_structure]:<value>. The filter option may be a string or list of strings.
Ce paramètre est utilisé pour créer, dans les templates, des recherches à facettes afin de réaliser une navigation de type drill down. Les filtres permettent de limiter les résultats de la recherche sans altérer la pertinence le l'ordre de tri. Les résultats/facettes contiennent des définitions de filtres pouvant être utilisées directement et il est possible de créer des définitions de filtres personnalisées.
Un filtre est spécifié par la syntaxe <class_identifier>/<class_attribute>[/<sub_structure]:<value>. L'option du filtre peut être constituée d'une ou plusieurs chaînes de caractères.

Exemple:
fetch( ezfind, search,
hash( query, 'eZ Systems',
filter, 'car/in_stock:1' ) )
 
Renvoie:

Returns all documents containing the words “ez” and “systems”, having the content object attribute “car/in_stock” with a value of “1”.
tous les documents contenant les mots ez et systems et correspondant à des objets de contenu de la classe car dont l'attribut in_stock vaut 1.

Exemple:
fetch( ezfind, search,
hash( query, 'eZ Systems',
filter, array( 'car/in_stock:1',
'car/make:Alfa Romeo',
'car/model:8C' ) ) )
 
Renvoie:

Returns all documents containing the words “ez” and “systems”, having the content object attribute “car/in_stock” with a value of “1”, the “car/make” attribute with the value “alfa romeo” and the “car/model” attribute with the value “8c”.
tous les documents contenant les mots ez et systems et correspondant à des objets de contenu de la classe car dont l'attribut in_stock vaut 1 et dont l'attribut make vaut alfa romeo et dont l'attribut model vaut 8c.

Exemple:
fetch( ezfind, search,
hash( query, 'eZ Systems',
filter, 'car/make:( Audi OR Volvo )' ) )
 
Renvoie:

Returns all documents containing the words “ez” and “systems”, having the content object attribute “car/make” with the value “audi” or “volvo”.
tous les documents contenant les mots ez et systems et dont l'attribut make vaut audi ou volvo.

Exemple:
fetch( ezfind, search,
hash( query, 'eZ Systems',
filter, array( 'path:2',
'contentclass_id:1' ) )
 
Renvoie:

Returns all documents containing the words “ez” and “systems”, in the subtree below the node with an ID of “2”, for objects of the content class with an ID of “1”.
tous les documents contenant les mots ez et systems et positionnés sous le nœud dont le ID est 2 et qui sont des instances de la classe d'objet dont le ID est 1

Exemple:
fetch( ezfind, search,
hash( query, 'eZ Systems',
filter, array( 'or',
array( 'and',
'article/body:hello',
'article/rating:[1 TO 10]' ),
array( 'and',
'article/body:goodbye',
'article/rating:[10 TO 20]' )))
 
Renvoie:

Returns all articles containing the words “ez” and “systems”, either having both 'hello' present in the body and a rating comprised between 1 and 10, or having both 'goodbye' in the body and a rating comprised between 10 and 20.
tous les documents contenant les mots ez et systems et, soit contenant le mot hello et ayant un classement compris entre 1 et 10, soit contenant le mot goodbye et ayant un classement compris entre 10 et 20.

class_id

This parameter is used to limit the search result to specific content classes, using either their identifiers or ID numbers. This can also be achieved by using the filter functionality. class_id may be either a single value or a list of values.
Ce paramètre est utilisé pour limiter les résultats à certaines classes par le biais des identifiants ou des numéros de ID de celles-ci. Mais il est également possible d'utiliser les filtres. class_id vaut soit une valeur unique soit une liste de valeurs.

Exemple:
fetch( ezfind, search,
hash( query, 'eZ Systems',
class_id, 1 ) )
 
Renvoie:

Returns all documents containing the words “ez” and “systems”, for objects of the content class with an ID of “1”.
tous les documents contenant les mots ez et systems et qui sont des objets de la classe dont le ID vaut 1.

Exemple:
fetch( ezfind, search,
hash( query, 'eZ Systems',
class_id, array( 'folder', 'article' ) ) )
 
Renvoie:

Returns all documents containing the words “ez” and “systems”, for objects of the Folder and Article content classes.
tous les documents contenant les mots ez et systems et qui sont des objets des classes Folder ou Article.

subtree_array

This parameter is a list of node IDs that specifies which subtrees should be included in the search. The same functionality can be achieved with the filter functionality.
Ce paramètre est une liste de ID de nœuds définissant les sous-arborescences à prendre en compte pour la recherche. La même fonction peut être réalisée par le biais des filtres.

Exemple:
fetch( ezfind, search,
hash( query, 'eZ Systems',
subtree_array, array( 23, 42 ) ) )
 
Renvoie:

Returns all documents containing the words “ez” and “systems”, from the subtrees with parent nodes with IDs of “23” and “42”.
tous les documents contenant les mots ez et systems et placés sous les nœuds parents dont le ID vaut 23 et 42.

section_id

This parameter is a integer specifying which section should be searched. The same functionality can be achieved with the filter functionality.
Ce paramètre est un entier définissant la section dans laquelle la recherche doit être effectuée. La même fonction peut être réalisée par le biais des filtres.

Exemple:
fetch( ezfind, search,
hash( query, 'eZ Systems',
section_id, 3 ) )
 
Renvoie:

Returns all documents containing the words “ez” and “systems” in the Media section (3).
tous les documents contenant les mots ez et systems et placés dans la section Media (dont le ID vaut 3);

ignore_visibility

This parameter is a Boolean which specifies whether or not hidden nodes should be returned in the search results.
Ce paramètre est un booléen indiquant si les nœuds cachés doivent être ou non retournés avec les résultats.

Exemple:
fetch( ezfind, search,
hash( query, 'eZ Systems',
ignore_visibility, true() ) )
 
Renvoie:

Returns all documents containing the words “ez” and “systems”, even if they are hidden.
tous les documents contenant les mots ez et systems qu'ils soient cachés ou non.

limitation

This parameter is an associative array overriding the current user's access rights to the read-function of the content-module. The format must exactly match the return format of the eZUser::hasAccessTo() method:
Ce paramètre est un tableau associatif surchargeant les droits d'accès à la fonction read (lire) du module content de l'utilisateur courant. Le format doit correspondre exactement au format retourné par la méthode eZUser::hasAccessTo():

Array elements :
Éléments du tableau:
'accessWord', 'yes' - access allowed/accès autorisé
'no' - access denied/accès refusé
'limited' - access array describing access included/tableau d'accès décrivant l'accès inclus
'policies', array containing the policy limitations/tableau contenant les limitations de la politique de droits
'accessList', array describing missing access rights/tableau décrivant les droits d'accès manquants

Exemple:
fetch( ezfind, search,
hash( query, 'eZ Systems',
limitation, hash( 'accessWord', 'yes' ) ) )
 
Renvoie:

Returns all documents containing the words “ez” and “systems”, regardless of the current user's access rights to the read-function of the content-module.
tous les documents contenant les mots ez et systems indépendamment des droits d'accès à la fonction read (lire) du module content de l'utilisateur courant.

spell_check

This parameter is an array configuring the spell check behaviour of the search. The first parameter is a Boolean value which enables or not the spellchecker. The second one is optional and is only taken into account if the first one is set to true. It contains the identifier of the dictionary to be used. For now only 'default' is supported.
The spell checking behaviour can also be controlled from ezfind.ini.
Ce paramètre est un tableau configurant le comportement de la correction d'orthographe des termes de la recherche. Le premier paramètre est une valeur booléenne qui active ou non le correcteur d'orthographe. Le second paramètre, optionnel et pris en compte uniquement si le premier est défini à true, contient l'identifiant du dictionnaire à utiliser. default est actuellement la seule valeur supportée.
Le comportement de la correction orthographique peut être également ccontrôlée via le fichier ezfind.ini

Exemple:
fetch( ezfind, search,
hash( query, 'eZy Sistems',
spell_check, array( true(), 'default' ) ) )
 
Renvoie:

Result with documents containing the words “ezy” and “sistems” and a spellcheck suggestion if Solr considered these two words as incorrectly spelled. The spellcheck feedback is placed under $search_results.SearchExtras.spellcheck and $search_results.SearchExtras.spellcheck_collation, $search_results being the result of the fetch function call.
les documents contenant les mots ezy et sistems ainsi qu'une suggestion de correction orthographique si Solr considère l'orthographe de ces deux mots incorrecte. Les suggestions orthographiques sont placées dans les variables $search_results.SearchExtras.spellcheck et $search_results.SearchExtras.spellcheck_collation, $search_results étant le résultat de l'appel de la fonction fetch.

query_handler

This parameter is a string defining which Solr search handler should be used. The possible values are listed here:
Ce paramètre est une chaîne de caractères définissant le gestionnaire Solr à utiliser. Les valeurs possibles sont présentées ci-après:

Handler
Gestionnaire
Description
standard the Solr standard handler is called with all syntax supported, searching is done against all searchable fields
le gestionnaire standard est appelé avec toutes les syntaxes supportées et la recherche est effectuée dans tous les champs pour lesquels la recherche est possible/autorisée.
simplestandard the Solr standard handler is called with all syntax supported, searching is done against the aggregated field ezf_df_text
le gestionnaire standard est appelé avec toutes les syntaxes supportées et la recherche est réalisée cette fois-ci dans le champ agrégé ezf_df_text.
ezpublish the recommended handler (Solr dismax based) for typical user searches using keywords without boolean or other operators except for + (required) and – (excluding)
le gestionnaire recommandé (basé sur dismax ) pour les recherches traditionnelles utilisant des mots clef sans booléen ni opérateur exceptés "+" (requis) et "-" (exclure).
heuristic depending on the presence of special characters indicating boolean, wildcard or fuzzy expressions, either the standard or dismax handler is called.
en fonction de l'existence de caractères spéciaux indiquant la présence de booléens, de caractères génériques ou d'expressions floues, le gestionnaire standard ou dismax sera utilisé.

The default behaviour can be controlled from ezfind.ini, but heuristic is the most common default handler.
Le comportement par défaut peut être contrôlé par le biais du fichier ezfind.ini mais le gestionnaire heuristique constitue le choix par défaut le plus courant.

Exemple:
fetch( ezfind, search,
hash( query, 'eZ AND Publish',
query_handler, 'standard' ) )
 
Renvoie:

Returns all documents containing both words “ez” and “systems”, using the standard handler.
tous les documents contenant les mots ez et systems et utilise le gestionnaire standard.

boost_functions

This parameter is used to pass query-time boosts and is an associative array, with two keys: 'fields' and 'functions'.
Ce paramètre, utilisé pour transmettre les facteurs de pondération query-time (lors des requêtes ???), est un tableau associatif contenant deux clefs: fields et functions.

  • fields accepts either an associative array or an array, placing a boost factor on given fields. See 'Example 1' and 'Example 1 bis'.
    accepte un tableau associatif ou non attribuant un facteur de boost à des champs donnés. Voir les exemples 1 et 1bis.
  • functions accepts an array, containing one or more expressions. The latter is not be interpreted and must therefore comply with Solr's Function Query syntax (http://wiki.apache.org/solr/FunctionQuery). See Example 2.
    accepte un tableau contenant une ou plusieurs expressions. La dernière n'est pas interprétée et doit donc se conformer à la syntaxe de la fonction Query de Solr (http://wiki.apache.org/solr/FunctionQuery). Voir l'exemple 2.

Both can be provided simultaneously.
Les deux clefs peuvent être fournies simultanément.

Exemple 1:
fetch( ezfind, search,
hash( 'query', 'eZ Systems',
'boost_functions',
hash( 'fields',
array( 'article/title:2' ) ) )
 
Renvoie:

Returns all documents containing the words “ez” and “systems”. The articles for which the search words were found in the 'title' will be returned first.
tous les documents contenant les mots ez et systems. Les articles pour lesquels les mots recherchés ont été trouvés dans le titre (title) seront retournés en premier.

Exemple 1bis:
fetch( ezfind, search,
hash( 'query', 'eZ Systems',
'boost_functions',
hash( 'fields',
hash( 'article/title', 2 ) ) )
 
Renvoie:

Identical to Example 1.
un résultat identique à celui de l'exemple 1.

Exemple 2:
fetch( ezfind, search,
hash( 'query', 'eZ Systems',
'boost_functions',
hash( 'functions',
array( 'ord(meta_modified_dt)^2' ) ))
 
Renvoie:

Returns all documents containing the words “ez” and “systems”. The most recent documents will be returned first, the result score being influenced by the formula : 'ord(meta_modified_dt)^2'
tous les documents contenant les mots ez et systems. Les documents les plus récents seront retournés en premier, le score du résultat étant influencé par la formule 'ord(meta_modified_dt)^2'

Commentaires