簡體   English   中英

如何在數據庫中創建lucene.net索引

[英]How to create lucene.net index in database

當我們使用winform通過lucene.net索引數據時,請考慮說10個相同的win應用程序正在辦公室中運行並且它們都是索引數據。 如果索引段文件是在每個PC中創建的那么它將是問題,或者我們可以在任何集中式PC中創建但是當該PC突然從網絡不可用時會出現問題。 所以我想知道我們可以在sql server中存儲lucene.net索引以進行集中訪問。 如果可能請指導我。 我搜索很多在sql server中存儲lucene.net索引,但沒有找到。 我有一篇關於java的文章,他們看到它是可能的。 這是鏈接http://kalanir.blogspot.in/2008/06/creating-search-index-in-database.html

他們說Lucence contains the JdbcDirectory interface for this purpose但我正在with lucene.net & c#所以請任何人指導我如何在sql server中存儲lucene索引。

謝謝

可以創建自定義Directory ,但這非常痛苦。 我見過幾個項目試試這個並且失敗了。

您的方法的顯示阻止是IndexWriter假定它只能訪問目錄。 因此,讓多台機器將文檔寫入同一目錄是有缺陷的,並且會打破許多假設。

最好的方法是將Lucene視為數據庫。 您不希望許多計算機都直接寫入db的文件。 這就是客戶與之交談的服務(SQL Server,MySql,Postgres等)的原因。

記住Lucene只是一個圖書館而不是“產品”。 您需要的是一台帶有api的服務,供機器與之交談。

ElasticSearch已經在其他地方被提到,它非常好。 強烈建議您調查一下。 冗余,速度,最新功能等(是的,它確實需要JVM,更准確地說是JRE。如果仔細觀察,有一個下載/安裝程序也不會安裝crapware)。

編寫一個自助托管ASP.net WebAPI並包裝Lucene的服務也非常簡單。 創建一個與之對話的客戶端也很容易。 只是HttpClient的包裝器。 (我已經多次這樣做了。讓POC工作只需要一兩天。但是魔鬼在細節上。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM