2010-11-08 28 views
12

我用Lucene庫開發了一個索引和搜索應用程序。但是這個庫在我的上下文中的自定義排名上有一些限制,除了它的性能,我需要可擴展性和對各種詞頻的訪問等。是否有任何強大的開源全文庫可用?什麼是最好的全文搜索開源項目(.NET首選)?

+2

我發現Lucene.net的性能令人難以置信,所以聽到有人說他們在性能方面出現問題真是令人驚訝! (順便說一句,Lucene有一個非常好的自定義評分等API) – 2010-11-08 13:50:02

+0

我沒有任何問題的性能lucene但自定義排名是如此困難。 – Ehsan 2010-11-08 15:56:58

回答

5

http://www.sphinxsearch.com

http://www.sphinxconnector.net/

主要獅身人面像的特點是:

  • 高索引和搜索性能;
  • 高級索引和查詢工具(靈活和功能豐富的文本標記器,查詢語言,幾種不同的排名模式等);
  • 高級結果集後處理(使用表達式,WHERE,ORDER BY,GROUP BY等對文本搜索結果進行SELECT選擇);
  • 經過驗證的可擴展性高達數十億文件,TB級數據和每秒數千次查詢;
  • 與SQL和XML數據源以及SphinxAPI,SphinxQL或SphinxSE搜索界面的輕鬆集成;
  • 通過分佈式搜索輕鬆縮放。

要展開位,斯芬克斯:

  • 具有高的索引速度(高達10-15 MB上的內部基準/每核心秒);
  • 具有很高的搜索速度(對於1,000,000個文檔,每個核心最多150-250個查詢/秒,內部基準1.2 GB的數據);
  • 具有很高的可擴展性(最大的已知羣集索引超過30億個文檔,最繁忙的一個峯值超過50,000,000個查詢/天);
  • 通過組合短語接近度排序和統計(BM25)排名提供了良好的相關性排名;
  • 提供分佈式搜索功能;
  • 提供文檔摘錄(片段)生成;
  • 提供在SphinxAPI或SphinxQL接口的應用程序內搜索,以及在MySQL內部使用可插入的SphinxSE存儲引擎進行搜索;
  • 支持布爾,短語,單詞近似和其他類型的查詢;
  • 支持每個文檔多個全文域(默認最多32個);
  • 支持每個文檔多個附加屬性(即。組,時間戳等);
  • 支持停用詞;
  • 支持形態詞形式詞典;
  • 支持標記異常;
  • 支持單字節編碼和UTF-8;
  • 支持詞幹(英語,俄語和捷克語的詞幹是內置的;法語,西班牙語,葡萄牙語,意大利語,羅馬尼亞語,德語,荷蘭語,瑞典語,挪威語,丹麥語,芬蘭語,匈牙利語的詞幹,黨的libstemmer庫);
  • 原生支持MySQL(支持所有類型的表,包括MyISAM,InnoDB,NDB,Archive等);
  • 原生支持PostgreSQL;
  • 原生支持符合ODBC的數據庫(MS SQL,Oracle等);
  • ...此處未列出50個其他功能,請參閱API和配置手冊!
相關問題