使用過 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
待續...