2010-10-25 78 views
5

我正在編寫一個自定義的Lucene.NET索引器來啓用MS Word文檔的索引。索引器必須能夠處理MS Word的最後三個版本:2010,2007和2003.如何使用Lucene.NET索引Word 2003,2007和2010文檔

該計劃是使用作爲VS2010的一部分安裝的VSTO互操作程序集,以從文檔中提取文本內容。

有沒有更好的方法來實現Word文檔索引? 這是否意味着我將不得不在服務器上安裝Word的所有三個版本?或者只是Word 2010?

工具/環境:

  • Lucene.NET 2.3.1.3
  • VS2010/.NET 3.5
  • 的Windows 2008/IIS 7

注:以瞭解如何要執行此操作,請參見Sitecore text search in PDF or Word documents

回答

5

您可以使用IFilter插件可讓您檢索文檔的內容並對其進行索引。該接口最初是Microsoft索引服務的一部分,但通常可用於索引文檔。

幾年前,我研究了這項技術,似乎記得Office文檔的過濾器是內置於Windows中的,或者可以與完整的Office軟件包分開安裝,但我可能在此處出錯。

有關IFilter技術的更多信息,請登錄IFilter at WikipediaIFilter at MSDN。你將不得不看看P/Invoke並可能得到一些啓發IFilter at pinvoke.net

C#中的示例可在MSDN Code Gallery找到。