2010-06-06 72 views
2

你能推薦一個全文搜索引擎嗎? (最好是開源的)你能推薦一個全文搜索引擎嗎?

我有一個很多(儘管相對較短)的HTML文檔的數據庫。我希望用戶能夠通過在我的C++桌面應用程序中輸入一個或多個搜索詞來搜索此數據庫。因此,我正在尋找一種快速的全文搜索解決方案來整合我的應用程序。理想情況下,它應該:

  • 跳過常用詞,如theofand
  • 支持所產生的,即搜索run還發現含有runnerrunningran文檔。
  • 隨着新文檔添加到數據庫中,能夠在後臺更新其索引。
  • 能夠提供搜索字詞建議(如谷歌建議)
  • 有一個證據充分的API

爲了說明,假設數據庫中只有兩個文件:

文件1This is a test of text search.

文檔2Testing is fun.

下列詞語應該在指數:funsearchtesttestingtext。如果用戶在搜索框中鍵入t,我希望應用程序能夠建議test,testingtext(理想情況下,應用程序應該能夠從t開始查詢搜索引擎中的10個最常見搜索詞)。搜索testing應該返回這兩個文檔。

其他景點:

  • 我不需要多用戶支持
  • 我並不需要進行復雜查詢
  • 數據庫駐留在用戶的計算機上支持,所以索引應該是在本地執行。

你能提出一個基於C或C++的解決方案嗎? (我簡要回顧了CLuceneXapian,但我不確定是否會解決我的需求,尤其是查詢搜索詞索引的建議功能)。

回答

2

我使用非常成功的dtSearch模塊。

他們有一個DLL,你可以使用你的應用程序來索引任何東西,並做比你問的更多。

注意:不是免費的。

我沒有看到問題,你要求免費的,所以我寫我的青睞之一。 dtSearch激發了我,我爲我的網站創建了語言Ellinika的索引器,因爲沒有找到我正在尋找我的語言的東西。

有隻爲steeming如果你只需要找到你的話建議一些模塊,我必須得從這裏http://tartarus.org/~martin/PorterStemmer/

例如參考,如果你有一個像MS SQL數據庫,所有準備做一些基本的索引,有人搜索一個詞,你什麼都沒有找到,你可以通過你自己的這個詞來做,並重新搜索...

+0

注意:這不是免費的。 – 2010-06-06 08:55:00

3

你可以使用C/C++和sphider for php。兩者都是免費的,但需要時間來設置和使用,但不難理解。