Q)如何将搜索查询发送到DNN端,以便返回结果?
A)调用搜索结果服务中搜索控制器的ModuleSearch方法以获取DNN搜索结果:
using DotNetNuke.Services.Search.Controllers;
using DotNetNuke.Services.Search.Entities;
...
var query = new SearchQuery
{
PageSize = request.PageSize,
PageIndex = (request.PageNum > 0 ? request.PageNum : 1),
SortField = SortFields.Relevance,
SortDirection = SortDirections.Descending,
KeyWords = request.Keyword,
Tags = new List<string>() { "tag1", "tag2" },
PortalIds = new List<int> { PortalSettings.PortalId },
WildCardSearch = true,
};
var searchResults = SearchController.Instance.ModuleSearch(query);
从那里,您可以从search results.results列表中获取DNN搜索结果并返回到搜索结果模块UI。
Q)如何让DNN站点爬虫对自定义模块上的内容进行爬网。
A)通过在自定义模块中实现ModuleSearchBase类,可以向DNN站点爬虫提供自定义搜索结果数据。这允许自定义数据进入DNN搜索结果,因此您可以利用上述查询API来获取数据。
这是本次讨论的一个大主题。你可以看到
other posts
我除了得到一个
full tutorial from DNNHero.com
如果你选择订阅。