2017-02-13 5 views
1

Wir haben eine Anwendung, die bestimmte Daten ausgibt. Das Problem, das ich habe, ist, dass ich ein durch Komma abgegrenztes Feld habe, das ich Tokenize aber nicht auf Leerzeichen muss. Zum Beispiel:Lucene Tokenizer - Include Spaces

"Age 6, Age 7, Age 8" 

Wird

Age 
6 
Age 
7 
Age 
8 

Ich brauche

Age 6 
Age 7 
Age 8 

Gibt es für mich ein Weg, um das Standardverhalten auf bestimmte Felder nur zu ändern?

Die Konfigurationseinstellung ich derzeit haben:

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

Sie müssen den Analysator auf Ihrem Feld angeben: https://community.sitecore.net/technical_blogs/b/getting_to_know_sitecore/posts/understanding-analyzers-and-sitecore-7 und müssen möglicherweise einen benutzerdefinierten Analysator schreiben/Tokenizer – Gatogordo

Antwort

0

Leider weiß ich nicht C#, aber ich weiß, Lucene. Für das erforderliche Verhalten müssen Sie also PatternAnalyzer verwenden, mit dem Sie eine Regexp angeben können, die für das Tokenizing verwendet wird. In Ihrem Fall sollte ein Muster wie \\, zum Aufteilen auf Kommas funktionieren.