【问题标题】:Integrating with DNN Search (Adding Search Functionality to own Search Input, Search Results and Indexing Custom Modules)与 DNN 搜索集成(将搜索功能添加到自己的搜索输入、搜索结果和索引自定义模块)
【发布时间】:2018-07-26 14:43:19
【问题描述】:

我们有自己的自定义搜索输入模块、搜索结果模块和用于在我们的 DotNetNuke 网站上显示产品的模块。

目前,我们将搜索词从我们的搜索输入模块发送到我们的自定义搜索结果模块页面,其中包含一个查询字符串,该字符串将通过 Ajax 显示来自我们 ERP 系统的产品。我现在也想包括 DNN 抓取的结果(页面等)。

  1. 如何将搜索查询发送到 DNN 端以返回结果?
  2. 我可以将哪些代码添加到我们的搜索结果页面?

我还想知道如何让 DNN 站点爬虫在使用 Ajax 的自定义模块上爬取页面内容?例如:我们有一个产品过滤器模块,它将从我们的 ERP 系统中检索结果:https://www.parrot.co.za/Product-Categories/Product-Filter?Category=126&whiteboards

我查看了这个页面,但没有回答我的具体问题:http://www.dnnsoftware.com/community-blog/cid/154913/integrating-with-search-introducing-modulesearchbase

【问题讨论】:

    标签: search dotnetnuke


    【解决方案1】:

    问)我如何将搜索查询发送到 DNN 端以返回结果?

    A) 在搜索结果服务中调用 SearchController 的 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);
    

    从那里,您可以从 searchResults.Results 列表中获取 DNN 搜索结果并返回到您的搜索结果模块 UI。

    Q) 我们如何让 DNN 站点爬虫爬取我们自定义模块上的内容。

    A) 您可以通过在您的自定义模块中实现 ModuleSearchBase 类,为 DNN 站点爬虫提供自定义搜索结果数据。这允许自定义数据进入 DNN 搜索结果,因此您可以利用上述查询 API 来获取数据。

    这是本次讨论的一个大主题。如果你选择订阅,你可以看到other posts我在这个主题上做的除了得到一个full tutorial from DNNHero.com

    【讨论】:

    • 感谢您的详细回答。我看到您列出了关键字和标签,哪一个是用户将输入的实际输入?
    • 是的,关键字是用户输入的。标签可以由用户或系统根据您的要求添加。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-05
    • 1970-01-01
    • 2018-07-30
    • 2020-02-14
    相关资源
    最近更新 更多