2014-02-11 67 views
1

我在我的網站上安裝了FullTextSearch(http://fulltextsearch.codeplex.com/),它運行良好。無論我輸入什麼關鍵字,FullTextSearch都會瀏覽內容並嘗試查找該關鍵字。Umbraco,FullTextSearch - 包括搜索媒體部分?

但是,當我鍵入一些關鍵字,它只在Umbraco後端的媒體部分可用時,即使事實上我有Media文件夾中的文件呃,我什麼也找不到。

任何人都可以解釋什麼是問題,爲什麼FullTextSearch無法從媒體部分找到任何東西?

非常感謝提前! Adi

回答

4

默認情況下,Umbraco不索引媒體項目。有一個名爲Cog Umbraco Examine Media Indexer的插件,它爲網站的媒體部分添加了一個索引,並且可以索引Apache Tika項目可以解析的PDF,Word和Excel文件,文本文件以及其他文件類型。

如果採用媒體索引器方法,則必須自定義搜索頁以利用全文搜索和媒體索引器索引。 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); 
+0

您好cmptrgeekken,非常感謝您的及時回覆!我已經安裝了Cog Umb。防爆。我有一個問題如何自定義我的搜索頁面(全文搜索和媒體索引器索引)。我看到代碼你susugestted,做了幾個組合,但沒有運氣;(我可以發送鏈接到我的網站,看看它的工作原理可能嗎?謝謝,MC2012 – MC2012

+0

我已經更新了我的答案,提供了一個如何使用MultiIndexSearcher搜索整個索引,讓我知道如果這有幫助! – cmptrgeekken

+0

您好cmptrgeekken,我目前正在嘗試實施您的代碼,我會讓你知道,只要我得到第一個結果,它會解決。BR,MC2012 – MC2012