3

Sitecore 8.1 mit Standard-Lucene. Ich verwende einen benutzerdefinierten Index mit einem berechneten Feld, um die wahren Werte eines Multilist-Felds statt der GUIDs zu speichern. Das funktioniert und ich kann im Luke-Tool sehen, dass das Feld als Text indiziert ist.Sitecore berechnete Indexfelder - wie unktokontiert gespeichert wird

Einige der Werte enthalten Leerzeichen, aber ich möchte, dass diese als das gesamte Feld indiziert werden. Das Problem besteht darin, dass diese in Token-Form indexiert werden, so wird zum Beispiel "Little Hampton" als "Little" und "Hampton" indexiert.

Wie erhalte ich berechnete Felder, die nicht gespeichert werden sollen? Siehe die raw: AddComputedIndexField Abschnitt:

<indexConfigurations> 
    <myCustomIndexConfiguration type="Sitecore.ContentSearch.LuceneProvider.LuceneIndexConfiguration, Sitecore.ContentSearch.LuceneProvider"> 
    <indexAllFields>true</indexAllFields> 
    <initializeOnAdd>true</initializeOnAdd> 
    <analyzer ref="contentSearch/indexConfigurations/defaultLuceneIndexConfiguration/analyzer" /> 
    <fieldMap type="Sitecore.ContentSearch.FieldMap, Sitecore.ContentSearch"> 
     <fieldNames hint="raw:AddFieldByFieldName"> 
     <!-- you must have _uniqueid or you wont be able to update the document later --> 
      <field fieldName="_uniqueid" storageType="YES" indexType="TOKENIZED" vectorType="NO" boost="1f" type="System.String" settingType="Sitecore.ContentSearch.LuceneProvider.LuceneSearchFieldConfiguration, Sitecore.ContentSearch.LuceneProvider"> 
      <analyzer type="Sitecore.ContentSearch.LuceneProvider.Analyzers.LowerCaseKeywordAnalyzer, Sitecore.ContentSearch.LuceneProvider" /> 
      </field> 
      <field fieldName="title" storageType="YES" indexType="UNTOKENIZED" vectorType="YES" boost="1f" type="System.String" settingType="Sitecore.ContentSearch.LuceneProvider.LuceneSearchFieldConfiguration, Sitecore.ContentSearch.LuceneProvider" /> 
      <field fieldName="summary" storageType="NO" indexType="TOKENIZED" vectorType="YES" boost="1f" type="System.String" settingType="Sitecore.ContentSearch.LuceneProvider.LuceneSearchFieldConfiguration, Sitecore.ContentSearch.LuceneProvider" /> 
     </fieldNames> 
    </fieldMap> 
    <fields hint="raw:AddComputedIndexField"> 
     <!-- resolves selected guids to text values --> 
     <field storageType="NO" indexType="UNTOKENIZED" fieldName="my multilist field">My.CoolStuff.Class, My.CoolStuff</field> 
    </fields> 

Ich habe versucht, indem storage = „NO“ Indextype = „ungeteilte“ auf das Spielfeld, aber ohne Einfluss auf, es bleibt tozenized und gespeichert.

Antwort

1

Versuchen Sie, Ihr berechnetes Feld dem regulären Abschnitt <fieldNames hint="raw:AddFieldByFieldName"> HINZUFÜGEN zu dem berechneten Feld hinzuzufügen und einen Analysator anzugeben.

zum Beispiel:

<fieldNames hint="raw:AddFieldByFieldName"> 
    <field fieldName="my multilist field" storageType="YES" indexType="TOKENIZED" vectorType="NO" boost="1f" type="System.String" settingType="Sitecore.ContentSearch.LuceneProvider.LuceneSearchFieldConfiguration, Sitecore.ContentSearch.LuceneProvider"> 
    <Analyzer type="Sitecore.ContentSearch.LuceneProvider.Analyzers.LowerCaseKeywordAnalyzer, Sitecore.ContentSearch.LuceneProvider" /> 
    </field> 
</fieldNames> 
+0

Der Zweck der Verwendung eines berechneten Feldes besteht darin, die Speicherung der Guids zu vermeiden und stattdessen Text zu speichern. Wenn Sie Ihren Vorschlag verwenden, werden die Guids erneut gespeichert. –

+1

Hast du es versucht? In Kombination mit dem berechneten Feld sollten die Werte wie gewünscht gespeichert werden. –

+0

Ich hatte es nicht ausprobiert - ich dachte, Sie schlagen das vor, statt, anstatt die Konfiguration hinzuzufügen. Ok ich habe es versucht, und es hat funktioniert :) aber ich bin verwirrt - was ist hier los? –

-1

ich eine Sache für Sie vorschlagen können, und es sollte funktionieren:

ein berechnetes Feld erstellen, dass die Räume in Titelfeld mit „_“ ersetzt, wenn Sie ersetzen suchen den Platz in Ihrem Suchschlüsselwort mit "_", so wird es sein wie: Little_Hampton

Verwandte Themen