使用過 Drupal 內建的 search 的話
便會發覺這個功能是雞肋
的確是一個基於 tree 而不是 "SQL like" 的搜尋, 也是全文檢索
但就沒有辦法對搜尋結果加以 filter (faceted search)
也不可以用日期或者其他方式排序
Drupal 的開發者們都發覺言個問題
所以便導入了 Apache solr 這個專案了以達成更強大的搜尋功能
大家可以參考新版的 Drupal 官網的搜尋, 和 issue queue 作例子
當然, 社群自己重寫一個也不是不可以
但要做到和 Solr 同一高度倒不如整合還比較快和可靠
而缺點則是, Solr 是基於 java 技術的 (java 1.5 或以上)
也即是說你的伺服器未必支援....
如果你的伺服器不能讓你以 SSH 連接
你便很大機會不能使用了...Drupal 的 Apache solr module 就是連結兩者的鑰匙
翻譯一下安裝文件 (2010-12-14 6.x-1.2 版本)
- 下載 Drupal Apache solr module
- 解壓到 sites/all/modules/
- 下載 Solr 的PHP 庫, 到 http://code.google.com/p/solr-php-client/downloads/list 下載 r22 的壓縮檔
- 解壓到 sites/all/modules/apachesolr/
- 下載 Solr, http://www.apache.org/dyn/closer.cgi/lucene/solr/
- 解壓到 htdocs 以外, 令apache 不能以 http 的方式訪問 solr
- 將 sites/all/modules/apachesolr/schema.xml 和 solrconfig.xml 抄到 Solr 的 example/solr/conf
- 啟用 Drupal Apache solr module
待續...
[2010-12-14] 初探 apache solr on Drupal由joetsuihk製作,以共享創意署名-非商業性-禁止衍生 3.0 Unported 授權條款釋出。
Re: [2010-12-14] 初探 apache solr on Drupal
之前有試過,但就是裝不起來
期待完整的教學
Re: [2010-12-14] 初探 apache solr on Drupal
我的小小 BLOG 也有,歡迎測試:
http://www.notabluescreen.com/search/apachesolr_search/Drupal
以我個人經驗,D6 core 沒有 patch 過的話,apache solr 會經常抓不到
simplexml_load_string() [function.simplexml-load-string]: ^ in /xxxxxxxxxxxxxx/xxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxx/sites/all/modules/apachesolr/Drupal_Apache_Solr_Service.php on line 83.
---
notaBlueScreen
Re: [2010-12-14] 初探 apache solr on Drupal
我測試的 apachesolr module 是 6.x-2.0-beta3
我發覺站內的內容並不是即時更新到 solr 的 index 之內的
應該是有以下的步驟:
暫時未看到有 patch core 的需要, 但我只測試英文內容, 不知道有否關連
原文: http://joetsuihk.com/20121221_%E7%BA%8C_apache_solr_%E4%BA%8C
Joetsui's blog
Re: [2010-12-14] 初探 apache solr on Drupal
index delay time 可以修改 solr conf.
patch 部分與 http 請求有關, 有一個簡單方法, 不停快速地 refresh 這個頁面
admin/settings/apachesolr/index
如果不幸看不到版本號就需要注意了
Using schema.xml version: drupal-0.9.4
---
notaBlueScreen
Re: [2010-12-14] 初探 apache solr on Drupal
在有討論區的網站,我都會停用search module。
文章數一多,資料庫暴增、效能變差的效應就會跑出來煩人。
解決的辦法就是用Google CS + finder來代替一般搜尋與特殊搜尋的功能。
tky