3

デフォルトのluceneを使用したSitecore 8.1。私は、guidではなく、マルチリストフィールドの真の値を格納するために、計算フィールドを持つカスタムインデックスを使用しています。これはうまくいき、Lukeツールでフィールドがテキストとして索引付けされていることがわかります。Sitecoreで計算されたインデックスフィールド - untokenizedを保存​​する方法

一部の値にはスペースが含まれていますが、これらはフィールド全体としてインデックス付けする必要があります。問題はこれらがトークン形式で索引付けされていることです。たとえば、 'Little Hampton'は 'Little'と 'Hampton'として索引付けされています。

計算されたフィールドを非保存にする方法を教えてください。 AddComputedIndexFieldセクション:生を参照してください

<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> 

を私はそれがtozenizedと保存されたまま、storageType =「NO」索引タイプフィールド=「トークン化されていない」を追加しようとしたが、なしに影響を与えてきました。

答えて

1

計算フィールドを通常の<fieldNames hint="raw:AddFieldByFieldName">セクションに追加して計算フィールドに追加し、アナライザを指定してください。

<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

計算フィールドを使用する目的は、guidの格納を避け、代わりにテキストを格納することです。あなたの提案を使用すると、再びガイドを保管することになります。 –

+1

試しましたか?計算フィールドと組み合わせて、意図したとおりに値を格納する必要があります。 –

+0

私はそれを試していない - 私はあなたが代わりに、設定に追加することを示唆していると思った。私はそれを試してみました、そしてそれは働いた:)しかし、私は混乱しています - ここで何が起こっていますか? –

-1

私はあなたのために一つのことを提案することができ、それが動作するはずです:例えば

あなたは置き換える検索したとき、「_」でタイトルフィールドにスペースを置き換えることを、計算フィールドを作成します。あなたの検索キーワードのスペースは "_"であるので、それはあなたのようになります:Little_Hampton

関連する問題