介紹好用工具:IBM OmniFind Yahoo! Edition (全文檢索引擎)

我們前陣子剛好有個案子需要用到「全文檢索」的功能,不過要在網站中加入「全文檢索」功能不是件容易的事,通常都要外掛一個全文檢索引擎幫我做網頁的索引,不是購買現成的商業軟體,就是要找免費的自己來架設全文檢索引擎。

我之前在 Linux 平台用過 mnoGoSearch 感覺還不錯,免費、功能還算夠用,只是沒什麼管理介面不熟 Linux 管理的人大概碰不到。

而在 Windows 平台我倒是比較少看到有免費版的全文檢索引擎,以前的案子大多都採用 Openfind Enterprise Search (OES) 實現全文檢索的需求,功能強大又是全中文介面,有點銀兩的人是可以考慮用這套。

而我們這案子正是 Windows 平台,由於客戶預算的關係,我正苦惱何處可以找到支援 Windows 平台而且又是免費的全文檢索引擎。

應該是上個月吧,有朋友跟我說有一套 IBM OmniFind Yahoo! Edition 還不錯用,深入瞭解之後發現真的是一套很棒的免費全文檢索產品,我簡單摘要幾個我體驗後覺得不錯的幾個特點:

  • 跨平台支援 ( 32 位元的 Linux 與 Windows 都支援 )
  • 安裝容易,只要三個 Click 就可以安裝完成
  • 免費版可支援 50 萬個文件索引以及 5 個不同的搜尋集合
  • 支援索引 200 多種以上的檔案類型
  • 有完整且多國語言(超過30國語系)的 Web 管理介面可供全文檢索引擎的設定與管理
  • 提供超簡易的 API 介面(HTTP GET/POST),將搜尋功能整合進既有系統非常方便
  • 提供三種建立索引的方式
    • 直接針對檔案系統建立索引
    • 透過 Web Crawler (Spider) 直接對特定網址進行全站檢索
    • 可透過 API 進行文件索引
  • 支援同義字,並可匯入、匯出
  • 提供查詢狀態統計功能 (範例圖片)
  • 內建客製化搜尋介面的設定 (範例圖片),也提供 API 介面讓你客製化搜尋結果

我已經將這套產品用在我們一個專案上了,感覺還不賴,若要使用 C# 呼叫 OmniFind 的 API 可以參考 IBM Omnifind Yahoo! Edition and C# 文章的範例,看了範例後你就會知道整合 OmniFind 的搜尋是多麼的容易。

相關連結

  

此文章由 will 發表於 2008/12/14 上午 02:01:47

永久連結 | 評論 (20) | 此文章的RSSRSS comment feed |

分類: Web | 介紹好用工具 | C#

標籤: , , , , , ,

收藏:

相關文章

評論

十二月 18. 2008 10:51

simon

這個是不是不能套多個站台?
因為添加了其他站台時,在搜索結果所有站台通通顯示出來了耶 ?!

simon tw

十二月 18. 2008 13:20

will

可以多個阿,你的搜尋結果要分開的話,可以使用「搜尋集合」功能,免費版最多可以讓你建立 5 個不同的搜尋集合 。

will tw

十二月 18. 2008 18:10

simon

原來"集合"是這樣子的意思...感謝指點^^

另外有個問題想請教您,
上面 IBM Omnifind Yahoo! Edition and C# 的例子是用 HTTPWebRequest 方式
所以我的ASP例子是去用解析xml的方式改寫,像下方範例

Set httpRe = Server.CreateObject("MSXML2.XMLHTTP.3.0")
httpRe.Open "GET","http://tw.news.yahoo.com/rss/tech",false
httpRe.send ---- 這邊確定有抓到xml內容了
Set xmlDoc=Server.CreateObject("Microsoft.XMLDOM")
xmlDoc.Load(httpRe.ResponseXML)

然後第二階段要去解析每個"entry",卻是空的?
會是他返回的xml都沒有換行造成的嗎?


simon tw

十二月 18. 2008 20:26

will

跟有沒有換行無關!

will tw

五月 22. 2009 15:46

Grace

Thank you~ 不過, 我試用了一天之後發現它是專門support intranet的. 有甚麼好方法可以讓每個人都能用這網站搜尋功能呢?

Note: 我的programming背景不是很solid. 謝謝Will!

Grace tw

五月 22. 2009 21:57

will

Grace: 何謂「專門 support intranet?」我都直接在 Internet 使用耶!網址只要對外就可以 internet 使用啦!

will tw

五月 23. 2009 16:55

Grace

"網址只要對外"? Hmm. 可不可以explain的更為detail一點呢? 我都只能從localhost那裏才可以進行搜尋. 例如:

http://localhost:10000/search/

By the way, "專門 support intranet" = "專門支援內部網路".

Thanks Will!

Grace tw

五月 23. 2009 18:56

will

應該是你的 IBM OmniFind Yahoo! Edition 沒有對外連線吧?是否檢查一下你的防火牆設定。

will tw

五月 25. 2009 15:06

Grace

For example: 如果 (只是舉例,不是我真正的網址):
網址: www.mywebsite.com.tw
主機名稱: mysite1-mysite1.com
埠: 80

1. 我試著先關閉防火牆.

2. 我也已在IBM OmniFind Yahoo! Edition-管理主控台的"web搜索器"裡設定好了"編輯 Proxy 伺服器設定"

3. 例如: 我在 browser 下 type: http://www.mysite.com.tw:80/search (上面的例子), 結果會是:
"找不到這個網頁: 您所要找的網頁可能已經被移除了,可能是它的名稱已經變更,或暫時無法使用。 "

所以應該是我還少做了甚麼 step(s).

讓IBM OmniFind Yahoo! Edition對外連線須要有哪些條件呢?

I finished the page regarding to this issue:
www.ibm.com/.../

But it's still not working... 而且在網上有這種information的也真的不多.

不好意思,再次麻煩Will了. Thank you!

Grace tw

五月 25. 2009 15:51

Grace

By the way, 如何可以search文件的內容部分 (i.e. between <body> and </body>), 而不是只是單純的以meta tags 為搜尋關鍵字的指標呢?

Thank you!

Grace tw

五月 25. 2009 17:50

will

IBM OmniFind Yahoo! Edition 預設對外連線的 Port 是 8080 喔! 並非 80 Port

will tw

七月 27. 2009 17:15

Jackie

我將此search engine灌在linux上, 後來該台主機重新啟動, 我要如何啟動此search engine ?

Jackie tw

七月 27. 2009 17:25

Jackie

出現錯誤訊息如下 :
[root@CMGCLINUX01 etc]# /opt/ibm/OmniFindYahooEdition/bin/startup.sh
IQQP2601E 無法啟動剖析器元件。將無法使用剖析器元件。
com.ibm.es.nuvo.parser.transform.TransformationService.initialize(Unknown Source)
com.ibm.es.nuvo.GlobalSystem.initialize(Unknown Source)
com.ibm.es.nuvo.Startup.main(Unknown Source)
問題原因:
IQQG0143E 起始設定子程序時發生錯誤。
com.ibm.es.nuvo.util.remoteprocess.manager.fenced.FencedWorkerManager.initialize(Unknown Source)
com.ibm.es.nuvo.parser.transform.oi.fenced.FencedOITransformationManager.start(Unknown Source)
com.ibm.es.nuvo.parser.transform.oi.fenced.FencedOITransformationManager.getInstance(Unknown Source)
com.ibm.es.nuvo.parser.transform.TransformationService.initialize(Unknown Source)
com.ibm.es.nuvo.GlobalSystem.initialize(Unknown Source)
com.ibm.es.nuvo.Startup.main(Unknown Source)
IQQG0146E 子程序已停止,回覆碼如下:127。
com.ibm.es.nuvo.util.remoteprocess.worker.fenced.AbstractFencedWorker.<init>(Unknown Source)
com.ibm.es.nuvo.parser.transform.oi.fenced.worker.FencedOITransformationWorker.<init>(Unknown Source)
com.ibm.es.nuvo.parser.transform.oi.fenced.worker.FencedOITransformationWorkerFactory.createWorker(Unknown Source)
com.ibm.es.nuvo.util.remoteprocess.manager.fenced.FencedWorkerManager.initialize(Unknown Source)
com.ibm.es.nuvo.parser.transform.oi.fenced.FencedOITransformationManager.start(Unknown Source)
com.ibm.es.nuvo.parser.transform.oi.fenced.FencedOITransformationManager.getInstance(Unknown Source)
com.ibm.es.nuvo.parser.transform.TransformationService.initialize(Unknown Source)
com.ibm.es.nuvo.GlobalSystem.initialize(Unknown Source)
com.ibm.es.nuvo.Startup.main(Unknown Source)
IQQG0044E 正在關閉伺服器。

Jackie tw

七月 27. 2009 22:07

will

Jackie:

/opt/ibm/OmniFindYahooEdition/bin/startup.sh

will tw

七月 27. 2009 22:08

will

Jackie:

請參考我另一篇文章
blog.miniasp.com/.../...on-on-Ubuntu-8-04-LTS.aspx

will tw

七月 28. 2009 10:56

Jackie

執行/opt/ibm/OmniFindYahooEdition/bin/startup.sh 一樣出現相同的錯誤訊息.
而且試著將它uninstall後在重新install,結果一樣.
第一次install後即可正常執行, 不知為何這次卻無法正常運作

Jackie tw

七月 28. 2009 13:30

Jackie

我的linux的版本是Redhat Linux Fedora 8

Jackie tw

十二月 2. 2009 12:56

Tim Lai

我從你網站得知這一套免費軟件,試用了一下,發現它似乎沒辦法像Google一樣可以自動將繁體文字和簡體文字互換查詢,不知您有沒有其他的心得可以分享一下,如何才能讓繁簡体的搜尋都能達到相同的品質。

目前打繁體的時候,它只搜索的到繁體的文件。輸入簡體时就只能搜尋簡體,沒辦法同時互換搜索。

但我在同義詞的選項中,將相同意思的繁簡體文件都建立後,搜索結果還是相同的,請問這有方法可以解決嗎?

謝謝!!

Tim Lai tw

十二月 2. 2009 13:04

Will 保哥

Tim: 我不清楚耶,要看他們下一版有沒有提供此功能,你可以去他們網站提供你個人的意見反饋。

Will 保哥 tw

十二月 2. 2009 16:23

Tim Lai

感謝!!

Tim Lai tw

新增評論


(將顯示您的Gravatar圖示)  

  Country flag

[b][/b] - [i][/i] - [u][/u]- [quote][/quote]



線上預覽

二月 9. 2010 21:52