Googleのように検索結果からテキストの一部を表示するようにKenticoCMS検索設定を変更するにはどうすればよいですか?現在、結果にはパスのみが表示されています。
3 に答える
それはあなたが実際にあなたの検索設定をどのように持っているかに依存します。
現在大多数の人が使用しているポータルエンジンモデルを使用している場合は、ページレベルで、使用しているウィジェットを確認する必要があります。基本的には、通常の検索またはスマート検索になります。
ASPXテンプレートモデルを使用している場合は、ページのソースを開いて、使用しているユーザーコントロールファイルを〜/ CMSWebParts / Search /または〜/ CMSWebParts /SmartSearch/から確認する必要がある場合があります。
使用しているユーザーコントロールがわかれば、使用しているトランスフォーメーションを調べる必要があります。ほとんどの場合、次のいずれかを使用します。
CMS.Root.SearchResults CMS.Root.SmartSearchResults CMS.Root.SmartSearchResultsWithImages
[変換の編集]をクリックして、SearchHighlightの呼び出し(通常は「コンテンツ」)内にあるフィールドを確認します。次に、ドキュメントのメインコンテンツから取得していることがわかります。また、これが「タイトル」や「キャプション」などの別のフィールドに関連付けられていることも確認しました。ただし、デフォルトは「コンテンツ」です。
それでもテキストの一部で結果が表示されない場合は、CMSSiteManager->管理->スマート検索にあるスマート検索インデックスが設定されていることを確認してください。インデックスリストにサイトが表示されない場合は、サイトを追加する必要があります。必ず再構築して最適化してください(行の[編集]をクリックして、これらのオプションを表示します)。それがすべて再構築された後、結果の下にテキストが表示されるはずです。
注意すべき点の1つは、@ jaoが述べたように、これはページのコンテンツの最初の280文字のみを使用することです。一致する検索テキストが最初の280文字に含まれていない場合、強調表示は行われません。
検索結果の変換で次のことを試してください。
<p>
<%# SearchHighlight(HTMLHelper.HTMLEncode(TextHelper.LimitLength(HttpUtility.HtmlDecode(HTMLHelper.StripTags(GetSearchedContent(DataHelper.GetNotEmpty(Eval("Content"),"")),false, " ")), 280, "...")),"<span style=\"background-color: #FEFF8F\">","</span>") %>
</p>
これにより、コンテンツの最初の280文字が表示され、検索語が強調表示されます。