【问题标题】:Umbraco, FullTextSearch - including search of Media section?Umbraco,全文搜索 - 包括媒体部分的搜索?
【发布时间】:2014-02-14 04:56:06
【问题描述】:

我已经在我的网站上安装了 FullTextSearch (http://fulltextsearch.codeplex.com/),它运行良好。无论我输入什么关键字,FullTextSearch 都会遍历内容并尝试找到该关键字。

但是当我输入一些仅在 Umbraco 后端的媒体部分可用的关键字时,即使我在媒体文件夹中有数百个文件,我也找不到任何东西?

谁能解释是什么问题以及为什么 FullTextSearch 无法从媒体部分找到任何内容?

提前非常感谢!阿迪

【问题讨论】:

    标签: umbraco


    【解决方案1】:

    默认情况下,Umbraco 不索引媒体项目。有一个名为 Cog Umbraco Examine Media Indexer 的插件,它为网站的媒体部分添加索引,并且可以索引 PDF、Word 和 Excel 文件、文本文件以及Apache Tika 项目可以解析的其他文件类型。

    如果您采用媒体索引器方法,则必须自定义搜索页面以同时使用全文搜索和媒体索引器索引。 our.umbraco.org 提供了一种组合多个搜索索引的方法。请注意,媒体索引器会创建一个名为“MediaIndexSet”的索引,而全文搜索插件会创建一个名为“FullTextIndexer”的索引。

    编辑

    下面是一个示例,说明如何创建 MultiIndexSearcher 来组合两个搜索索引:

    var indexes = new[] {"FullTextIndexer", "MediaIndexer"};
    var directories = new List<DirectoryInfo>();
    foreach (var index in indexes)
    {
        var indexer = ExamineManager.Instance.IndexProviderCollection[index];
        var directory =
            new DirectoryInfo(
                ((LuceneIndexer) indexer).LuceneIndexFolder.FullName.Replace("\\Index", ""));
        directories.Add(directory);
    }
    
    var searcher = new MultiIndexSearcher(directories, new StandardAnalyzer());
    

    然后您可以使用searcher 对象来执行您的搜索:

    var criteria = searcher.CreateSearchCriteria();
    var query = criteria.RawQuery("name:\"search terms\""); // Replace with actual query
    var results = searcher.Search(query);
    

    【讨论】:

    • 您好 cmptrgeekken,非常感谢您的及时回复!我已经安装了 Cog Umb。前任。我有一个如何自定义我的搜索页面(全文搜索和媒体索引器索引)的问题。我看到了你推荐的代码,做了一些组合,但没有运气;(我可以给你发送我网站的链接,看看它是如何工作的吗?谢谢,MC2012
    • 我已经更新了我的答案,以提供一个示例,说明如何使用 MultiIndexSearcher 搜索索引。让我知道这是否有帮助!
    • 您好 cmptrgeekken,我目前正在尝试实现您的代码,我会在获得第一个结果后立即通知您。 BR, MC2012
    • 嗨 cmptrgeekken,我正在尝试实现您建议的代码,但我有很多问题;(我恳请您通知我是否可以登录我的网站并帮助我,我很乐意支付费用你请求是因为我真的需要尽快解决这个问题。希望你能理解。谢谢你,MC2012
    • @cmptrgeekken,你知道我们在哪里可以获得必要的 dll 二进制文件来让 Cog Umbraco 检查媒体索引器运行吗?
    猜你喜欢
    • 2018-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-08
    • 1970-01-01
    • 2018-04-24
    • 2011-01-15
    • 1970-01-01
    相关资源
    最近更新 更多