2017-02-13 4 views
1

Nous avons une application qui symbolise certaines données. Le problème que j'ai est que j'ai un champ délimité par des virgules que j'ai besoin de tokenize mais pas sur les espaces. Par exemple:Lucene Tokenizer - Inclure les espaces

"Age 6, Age 7, Age 8" 

Devient

Age 
6 
Age 
7 
Age 
8 

J'ai besoin

Age 6 
Age 7 
Age 8 

est-il un moyen pour moi de changer le comportement par défaut sur certains champs seulement?

Le paramètre de configuration je à l'heure actuelle:

<field fieldName="SizeGroup" storageType="YES" indexType="TOKENIZED" vectorType="NO" 
boost="1f" type="System.String" 
settingType="Sitecore.ContentSearch.LuceneProvider.LuceneSearchFieldConfiguration, 
Sitecore.ContentSearch.LuceneProvider" /> 
+0

Vous devrez spécifier l'analyseur dans votre champ: https://community.sitecore.net/technical_blogs/b/getting_to_know_sitecore/posts/understanding-analyzers-and-sitecore-7 et devrez peut-être écrire un analyseur personnalisé/tokenizer .. – Gatogordo

Répondre

0

Malheureusement, je ne sais pas C#, mais je sais Lucene. Donc, pour le comportement nécessaire, vous devez utiliser PatternAnalyzer, ce qui vous permet de spécifier une expression rationnelle, qui sera utilisée pour tokenizing. Dans votre cas, un modèle comme \\, devrait fonctionner pour séparer les virgules.