[2010-12-14] 初探 apache solr on Drupal

使用過 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 版本)

  1. 下載 Drupal Apache solr module
  2. 解壓到 sites/all/modules/
  3. 下載 Solr 的PHP 庫, 到 http://code.google.com/p/solr-php-client/downloads/list 下載 r22 的壓縮檔
  4. 解壓到 sites/all/modules/apachesolr/
  5. 下載 Solr, http://www.apache.org/dyn/closer.cgi/lucene/solr/
  6. 解壓到 htdocs 以外, 令apache 不能以 http 的方式訪問 solr
  7. 將 sites/all/modules/apachesolr/schema.xml 和 solrconfig.xml 抄到 Solr 的 example/solr/conf
  8. 啟用 Drupal Apache solr module

待續...

Google