search

分開 apachesolr 和 apachesolr_search

下一個進階的 solr blog 已經寫了大半, 但發覺有必要分開一篇
先談談 apachesolr 和 apachesolr_search 的分別

apachesolr 是一個接口模組, 是連接 Drupal 和 SolrPhpClient 的接口
而 SolrPhpClient 是 PHP 和 solr 的接口
但 solr 是 java base 的, 而且其實有一個易用的 web service query 接口: /solr/CORE0/admin/form.jsp

所以, 嚴格來說, 假如你要自己硬幹, 是可以不使用以上的接口的
但當然無需要就不必重做輪子了

apachesolr 的功能包括提供方便的函數,
以調用正在處理的 query, query 的參數, 它的回傳 response, response 的列數目等等
也會送出 cck 的欄位的資料到 solr

[2012-12-21] 續 apache solr (二)

我測試的 apachesolr module 是 6.x-2.0-beta3

我發覺站內的內容並不是即時更新到 solr 的 index 之內的
應該是有以下的步驟:

  1. 新建/修改的 node 會在 Drupal 內部先整理好, 再一次送到 solr, 可選立即送, 而admin page 有一個數字顯示目前未被送出之 node 的數目
  2. Solr 收到更新名單, 但仍需要時間建立 index, 已建立的數字可以在 admin page 看到, 但 index 的更新不可以手動發動, 要等, 或者重啟 solr

暫時未看到有 patch core 的需要, 但我只測試英文內容, 不知道有否關連

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

使用過 Drupal 內建的 search 的話
便會發覺這個功能是雞肋
的確是一個基於 tree 而不是 "SQL like" 的搜尋, 也是全文檢索
但就沒有辦法對搜尋結果加以 filter (faceted search)
也不可以用日期或者其他方式排序
Drupal 的開發者們都發覺言個問題

Google