3

如何更改Kentico CMS搜索设置,以便像在 Google 中一样显示搜索结果中的部分文本?目前它只显示结果中的路径。

4

3 回答 3

4

这取决于您如何真正进行搜索设置。

在页面级别,如果您使用的是现在大多数人使用的 Portal Engine 模型,您必须检查您正在使用的 Widget,基本上它归结为常规搜索或智能搜索。

如果您使用 ASPX 模板模型,您可能必须打开页面的源代码并查看您使用的用户控件文件来自 ~/CMSWebParts/Search/ 或 ~/CMSWebParts/SmartSearch/

一旦你弄清楚你正在使用哪个用户控件,就需要检查它使用的转换。您很可能会使用以下其中一项:

CMS.Root.SearchResults CMS.Root.SmartSearchResults CMS.Root.SmartSearchResultsWithImages

单击编辑转换并检查调用 SearchHighlight 中的哪个字段,通常是“内容”。然后你知道它是从文档的主要内容中提取的。我还看到这与“标题”或“标题”等不同的字段相关联。但默认为“内容”。

如果您仍然看不到带有部分文本的结果,请确保您有一个智能搜索索引设置,在 CMSSiteManager -> 管理 -> 智能搜索中找到。如果您没有在索引列表中看到您的站点,那么您需要添加一个。确保重建并优化它(单击行上的编辑以获取这些选项)。在全部重建之后,您应该会看到文本出现在结果下方。

于 2010-07-06T01:18:16.407 回答
1

需要注意的一点是,正如@jao 所提到的,这只需要页面内容的前 280 个字符。如果您匹配的搜索文本恰好不在前 280 个字符中,则不会突出显示。

于 2011-02-10T22:33:04.817 回答
0

在搜索结果转换中尝试以下操作:

<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 个字符,并突出显示搜索词。

于 2010-04-22T12:17:28.677 回答