は、私は10個の記事のコンテンツアイテムを持っており、それぞれの記事の項目は、私は、エディタでのファセット検索のために寄与ファセットを作成しているサイトコアの検索ファセットと計算フィールド
チェックリスト貢献しています。しかし、チェックリストの値は文字列IDとして索引付けされます。検索結果ページで今すぐ
ファセット値は、文字列のidのとして表示されています。あなたが取る必要がある 私はインデックスにComputedFieldを作成した表示名
public class Contributors : IComputedIndexField
{
public object ComputeFieldValue(IIndexable indexable)
{
var item = indexable as SitecoreIndexableItem;
if (item == null || item.Item == null) return string.Empty;
StringBuilder ContributorsNameList = new StringBuilder();
IIndexableDataField cField = indexable.GetFieldByName("Contributors");
if (cField != null)
{
var cList = cField.Value.ToString().Split(new[] { '|' }, StringSplitOptions.RemoveEmptyEntries).ToList();
foreach (var cId in cList)
{
var cItem = item.Item.Database.GetItem(new ID(cId));
if (cItem != null)
ContributorsNameList.Append(cItem.Name.ToString());
}
return ContributorsNameList;
}
return null;
}
public string FieldName { get; set; }
public string ReturnType { get; set; }
}
と、configファイル
今<?xml version="1.0" encoding="utf-8" ?>
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
<sitecore>
<contentSearch>
<configuration>
<defaultIndexConfiguration>
<fields hint="raw:AddComputedIndexField">
<field fieldName="tagsfacet" storageType="yes" indexType="untokenized"> Sandbox.SitecoreCustomizations.ComputedIndexFields.TagsFacet, Sandbox</field>
</fields>
<fields hint="raw:AddFieldByFieldName">
<field fieldName="tagsfacet" 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>
</fields>
</defaultIndexConfiguration>
</configuration>
</contentSearch>
</sitecore>
</configuration>
戻り値をデバッグするためにブレークポイントを挿入するか、コードに 'Log.Info'を追加しようとしましたか? 'AddComputedField'セクションと' AddFieldByFieldName'セクションの両方に 'tagsFacet'を追加する必要はありません。 'AddComputedField'で十分でしょう。また、Lukeの 'tagsFacet'フィールドの値は何ですか?私は 'contributors'フィールドの中からスクリーンショットを見るだけです。 –