Bonjour Antoine,

Je ne vois que 2 solutions à ton problème.

1) utilisation de synonymes mais tu seras limités au cas connus d'avance 
seulement alors c'est une solution qui ne scale pas à long terme.

2) sinon tu dois envisager d'avoir un deuxième champ (probablement en 
CopyField) qui n'utilisera pas un WhitespaceTokenizer (la classe 
KeywordTokenizerFactory semble un bon candidat) et faire la recherche sur les 2 
champs (fq=champ1:"la redoute" OR champ2:"la redoute")

La page d'administration (/solr/admin/analysis.jsp) te permet de bien voir ce 
qui se passe pour différentes valeurs et champs.

De plus, tu auras beaucoup plus de chance d'obtenir des réponses à tes 
questions si celles-ci sont rédigées en anglais. ;)

Bonne chance

> -----Original Message-----
> From: Antoine REBOUL [mailto:antoine.reb...@gmail.com]
> Sent: November-04-13 11:42 AM
> To: solr-user@lucene.apache.org
> Subject: Recherche avec et sans espaces
> 
> Bonjour,
> 
> je souhaite faire en sorte que les recherches dans un champs de type texte
> renvoient des résultats même si les espaces sont mal saisies (par exemple : 
> "la
> redoute"="laredoute").
> 
> Aujourd'hui mon champ texte est défini de la façon suivante :
> 
> 
> <fieldType name="text" class="solr.TextField" positionIncrementGap="100">
> <analyzer type="index"> <tokenizer class="solr.WhitespaceTokenizerFactory"/>
>  <filter class="solr.ISOLatin1AccentFilterFactory"/>
> <filter class="solr.StopFilterFactory"
>  ignoreCase="true"
> words="stopwords.txt"
> enablePositionIncrements="true"
>  />
> <filter class="solr.ElisionFilterFactory" articles="elisions.txt"/>  <filter
> class="solr.SynonymFilterFactory" synonyms="synonyms2.txt"
> ignoreCase="true" expand="false"/>
> <filter class="solr.ASCIIFoldingFilterFactory"/>
>  <filter class="solr.WordDelimiterFilterFactory"
> generateWordParts="1"
> generateNumberParts="1"
>  catenateWords="1"
> catenateNumbers="1"
> catenateAll="1"
>  splitOnCaseChange="1"
> splitOnNumerics="1"
> preserveOriginal="1"
>  />
> <filter class="solr.LowerCaseFilterFactory"/>
> </analyzer>
>  <analyzer type="query">
> <filter class="solr.ISOLatin1AccentFilterFactory"/>
>  <tokenizer class="solr.WhitespaceTokenizerFactory"/>
> <filter class="solr.WordDelimiterFilterFactory"
>  generateWordParts="1"
> generateNumberParts="1"
> catenateWords="1"
>  catenateNumbers="0"
> catenateAll="1"
> splitOnCaseChange="1"
>  preserveOriginal="1"
> />
> <filter class="solr.StopFilterFactory"
>  ignoreCase="true"
> words="stopwords.txt"
> enablePositionIncrements="true"
>  />
> <filter class="solr.ElisionFilterFactory" articles="elisions.txt"/>  <filter
> class="solr.ASCIIFoldingFilterFactory"/>
> <filter class="solr.LowerCaseFilterFactory"/>
>  <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
> </analyzer>
> </fieldType>
> 
> 
> 
> 
> 
> 
> Merci d'avance pour vos éventuelles réponses.
> Cordialement.
> 
> Antoine Reboul
> *
> 
> -----
> Aucun virus trouvé dans ce message.
> Analyse effectuée par AVG - www.avg.fr
> Version: 2014.0.4158 / Base de données virale: 3615/6784 - Date: 26/10/2013
> La Base de données des virus a expiré.

Reply via email to