這聽起來像你探索的選項:
- 的壓縮工具(轉換文件爲純文本)
- 一個搜索工具(以使該純文本搜索)
- 多租戶策略(用於管理多個客戶,這些文字的集合)
我可以給你在Apache的一些指針堆棧(因爲你的男人tioned的Lucene/Solr的在您的文章):
提取
廣泛使用的開放源碼文件提取工具是Apache Tika(可處理PDF文件和MS Office文檔among others)
你提到你要索引圖片哪個在文檔管理上下文中可能包含OCR,是嗎?在開源社區(Apache 2許可)中,對Google Tesseract OCR的支持越來越多。
Apache Tika最近在名稱TikaOCR中包含了對Tesseract OCR的支持。
搜索
您已經在使用SQL服務器,所以如果fulltext support滿足您的需求,它可能是最簡單的開始,只是使用提卡生成純文本可以是作爲另一列(W/FULLTEXT索引)添加到SQL Server中的文檔表中。
裝有一個基於Lucene的搜索服務器(Apache Solr實現,或Elasticsearch)將大大提高你的能力來調整搜索和暴露的最佳實踐的搜索功能(自動完成,搜索方面,類似的搜索)。
Lucene.NET是另一種解決方案(C#庫),但它並沒有跟上Lucene Java項目(2012年的最新更新)。此外,如果使用5MM +文檔,您可以考慮採用基於服務器的進程外搜索解決方案。
多租戶戰略
最終你有三個主要選項:
- 共享數據存儲,共享表/索引/收集
- 共享數據存儲,單獨的表/索引/收藏
- 獨立數據存儲
最終,您可以使用SQL Server實現以上三種方法中的任何一種(當前實現爲#1,正確?)。
對於任何搜索解決方案,#3 - 單獨的數據存儲可能成爲操作上成本過高您的客戶名單不斷增加(除非有硬性要求,以防火牆關閉組織數據)。
因此,許多多租戶搜索應用程序使用#2 - 共享數據存儲,單獨的搜索索引,或#1 - 共享數據存儲,共享索引上的要求取決於。
兩個Solr和Elasticsearch將使您能夠設置每個客戶端的一個文件索引/收集(#2),或管理一個大的多客戶端與收集,比方說,用於過濾client_id
場(#1)。
使用商業Elasticsearch插件(Shield),可以提供索引級別的安全性,例如,每個獨立的面向客戶端的.NET應用程序只能訪問客戶端的文檔索引(上面的#2策略)。
集成
你使用.NET的,並且可能不希望纏鬥Java庫。 Solr和Elasticsearch都作爲具有HTTP API的服務器進行搜索和攝取。 Solr的Apache Tika集成稱爲Solr CELL,Elasticsearch通過elasticsearch-mapper-attachments plugin project(這兩者都將使您免於Java開發)。
但是,Elasticsearch's Tika integration does not yet support Tesseract OCR(Solr's integration does)。
.NET clients for Solr
.NET clients for Elasticsearch(NEST是獲得了很多使用的)
縮放條件
OCR處理和文本提取是CPU密集型的,因此作爲你的攝取量不斷增長,您最終可能會考慮在不用於搜索的專用機器上處理文檔。
綜上所述,假設你需要OCR,這些攝取/搜索棧可以工作:
- Java或命令行提卡+正方體(攝取),SQL Server全文(搜索)
- Solr的瓦特/ Solr的細胞提卡/超正方體集成(攝取+搜索)
- 命令行超正方體OCR(用於圖像OCR提取物)+ Elasticsearch瓦特/ elasticsearch映射器-附件插件爲提卡支持(攝取+搜索)
我希望這能給你一個解決問題的出發點!
感謝您的解釋。 – huseyindotpw
我按下輸入和註釋消失了:)當我編輯5分鐘過去了,對不起。 感謝您的解釋。您真的睜開了眼睛:) 我們現在不需要OCR,稍後可能會。 看來Apache Tika和ElasticSearch適合我們。 我在調查時發現了一款微軟產品,叫做微軟搜索服務器。它有ifilters的索引功能。我安裝了Adobe PDF iFilter,在目錄中創建了一個內容源文件。它似乎在索引和搜索上成功。但我無法找到如何以編程方式創建內容源。我在此浪費時間。您對此有何想法? – huseyindotpw
我沒有使用MSS的經驗,但[本文](http://stackoverflow.com/questions/17511568/is-it-possible-to-use-microsoft-2013-sharepoint-search-server-as- my-search-engin)似乎表明它與Sharepoint緊密結合。當然,Sharepoint通常用於MSFT世界中的文檔管理。我無法說明採集/搜索功能,但是如果您已經掌握了Sharepoint專有技術和許可證協議,那麼您可能可以完成SharePoint和MSS所需的大部分功能。 –