我创建了基本搜索,并使用SearchHelper根据搜索参数获取智能搜索结果。
现在根据类别,作者等创建高级搜索,但没有找到根据这些条件过滤结果的方法。
我正在寻找一种使用
数据集显示结果的方法 // Prepare parameters
SearchParameters parameters = new SearchParameters()
{
SearchFor = searchText,
SearchSort = SearchHelper.GetSort(srt),
Path = path,
ClassNames = DocumentTypes,
CurrentCulture = culture,
DefaultCulture = defaultCulture,
CombineWithDefaultCulture = CombineWithDefaultCulture,
CheckPermissions = CheckPermissions,
SearchInAttachments = SearchInAttachments,
User = (UserInfo)CMSContext.CurrentUser,
SearchIndexes = Indexes,
StartingPosition = startPosition,
DisplayResults = displayResults,
NumberOfProcessedResults = numberOfProceeded,
NumberOfResults = 0,
AttachmentWhere = AttachmentsWhere,
AttachmentOrderBy = AttachmentsOrderBy,
BlockFieldOnlySearch = BlockFieldOnlySearch,
};
// Search
DataSet results = SearchHelper.Search(parameters);
答案 0 :(得分:2)
最简单的方法是使用方法:
SearchHelper.CombineSearchCondition()
第一个参数是searchText,其中包含您可能已经拥有的搜索词。
第二个参数是searchConditions,可以按https://docs.kentico.com/k10/configuring-kentico/setting-up-search-on-your-website/smart-search-syntax
格式化或者,您可以手动将搜索条件附加到搜索文本中,用空格分隔每个术语。
请记住,要根据任何字段进行过滤,需要在SiteManager->开发 - > DocumentTypes-> DocumentType->搜索标签中选择它们。