Kentico 按类名搜索
Kentico search by classnames
我在按类名过滤搜索结果时遇到问题。您可以在下面找到我使用的代码片段,希望有人有想法并可以帮助我。
SearchParameters parameters = new SearchParameters()
{
SearchFor = "support",
SearchSort = "##SCORE##",
Path = "/%",
ClassNames = "cms.faq",
CurrentCulture = "EN-US",
DefaultCulture = CMS.Helpers.CultureHelper.EnglishCulture.IetfLanguageTag,
CombineWithDefaultCulture = false,
CheckPermissions = false,
SearchInAttachments = false,
User = (CMS.Membership.UserInfo)CMS.Membership.MembershipContext.AuthenticatedUser,
SearchIndexes = index.IndexName,
StartingPosition = 0,
DisplayResults = 10,
NumberOfProcessedResults = 10,
NumberOfResults = 0,
AttachmentWhere = String.Empty,
AttachmentOrderBy = String.Empty
};
我找不到任何关于此的文档,但我想 class 名称应该 return 只是 FAQ 类型的数据,但在我的例子中它是 return 其他数据喜欢文件、新闻和自定义文档。
我也尝试添加类似 ClassNames = "+cms.faq" 或 ClassNames = "##cms.faq##" 的内容,但没有成功:D
谢谢,
刚刚快速浏览了一下v8.2的源码,好像ClassNames
参数只是用来过滤搜索到的附件。我不确定这是故意的还是错误。我建议您联系 Kentico support。
ClassNames
的正确格式是以分号分隔的页面类型列表,例如CMS.Faq;CMS.News
.
Classnames 参数已过时,不应再使用。由于向后兼容,该参数仍然存在,它用于在使用 SQL 搜索时过滤掉搜索附件,如 rocky 已经提到的那样。如果你想按类名过滤搜索结果,你必须在 SearchFor 属性 中指定类名,如下所示:+(apple) +classname:[cms.faq TO cms.faq] +_culture:([en-us TO en-us]
我在按类名过滤搜索结果时遇到问题。您可以在下面找到我使用的代码片段,希望有人有想法并可以帮助我。
SearchParameters parameters = new SearchParameters()
{
SearchFor = "support",
SearchSort = "##SCORE##",
Path = "/%",
ClassNames = "cms.faq",
CurrentCulture = "EN-US",
DefaultCulture = CMS.Helpers.CultureHelper.EnglishCulture.IetfLanguageTag,
CombineWithDefaultCulture = false,
CheckPermissions = false,
SearchInAttachments = false,
User = (CMS.Membership.UserInfo)CMS.Membership.MembershipContext.AuthenticatedUser,
SearchIndexes = index.IndexName,
StartingPosition = 0,
DisplayResults = 10,
NumberOfProcessedResults = 10,
NumberOfResults = 0,
AttachmentWhere = String.Empty,
AttachmentOrderBy = String.Empty
};
我找不到任何关于此的文档,但我想 class 名称应该 return 只是 FAQ 类型的数据,但在我的例子中它是 return 其他数据喜欢文件、新闻和自定义文档。
我也尝试添加类似 ClassNames = "+cms.faq" 或 ClassNames = "##cms.faq##" 的内容,但没有成功:D
谢谢,
刚刚快速浏览了一下v8.2的源码,好像ClassNames
参数只是用来过滤搜索到的附件。我不确定这是故意的还是错误。我建议您联系 Kentico support。
ClassNames
的正确格式是以分号分隔的页面类型列表,例如CMS.Faq;CMS.News
.
Classnames 参数已过时,不应再使用。由于向后兼容,该参数仍然存在,它用于在使用 SQL 搜索时过滤掉搜索附件,如 rocky 已经提到的那样。如果你想按类名过滤搜索结果,你必须在 SearchFor 属性 中指定类名,如下所示:+(apple) +classname:[cms.faq TO cms.faq] +_culture:([en-us TO en-us]