Thinking Sphinx 是一個用於將 ActiveRecord 連接到 Sphinx 全文搜尋工具的函式庫,並與 Rails 緊密整合(但也可與其他 Ruby Web 框架搭配使用)。目前版本是 v5.6.0。
請參閱變更日誌和發行說明,以了解升級時需要進行的任何變更。發行說明尤其擅長涵蓋重大變更和新功能的更多細節。
該文件還提供了有關從 v4 升級到 v5、從 v3 升級到 v4 以及從 v1/v2 升級到 v3 所涉及的內容的更多詳細資訊。
它是一個 gem,所以像安裝任何其他 gem 一樣安裝它。如果您使用MRI ,您還需要指定 mysql2 gem,或者如果您使用 JRuby,則需要指定 jdbc-mysql:
gem 'mysql2', '~> 0.4', :platform => :ruby
gem 'jdbc-mysql', '~> 5.1.35', :platform => :jruby
gem 'thinking-sphinx', '~> 5.5'
連接到 Sphinx 需要提到的 MySQL gem,因此即使您的資料庫使用 PostgreSQL,也請包含它。
您還需要安裝 Sphinx – 擴充功能文件中對此進行了介紹。
首先閱讀快速入門指南,除此之外,該文件應該可以很好地為您服務。
Thinking Sphinx 的目前版本與其依賴項的以下版本相容:
圖書館 | 最低限度 | 測試針對 |
---|---|---|
紅寶石 | v2.4 | v2.4、v2.5、v2.6、v2.7、v3.0、v3.1、v3.2 |
獅身人面像 | v2.2.11 | v2.2.11、v3.4.1 |
蠍獅 | v2.8 | v4.0、v6.0 |
活動記錄 | v4.2 | v4.2..v7.0 |
它可能適用於舊版本的 Ruby,但強烈建議更新到受支援的版本。
它也應該可以與 JRuby 一起使用,但是 CI 中的測試環境並不可靠,因此目前還沒有對其進行積極的測試。
如果您使用 Sphinx,建議使用 v2.2.11,儘管它已經很舊了,因為它與 PostgreSQL 資料庫配合得很好(但如果您使用 MySQL – 或即時索引 – 那麼 v3.3.1 也應該沒問題)。
如果您選擇 Manticore,則 v2.8 或更高版本可以使用,但建議使用 v4 或更高版本,因為這是積極測試的物件。 v4.2 和 5.0 版本在構面搜尋方面存在錯誤,但已在 Manticore v6.0 中修復。
目前 Thinking Sphinx 是為了支援 Rails/ActiveRecord 4.2 或更高版本而建構的。如果您使用 Sinatra 和 ActiveRecord 而不是 Rails,那沒問題 – 只要確保在 Gemfile 中列出thinking-sphinx
時添加:require => 'thinking_sphinx/sinatra'
選項即可。
如果您需要 ActiveRecord 3.2-4.1 支持,請參閱 Thinking Sphinx 的 4.x 版本。或者,對於 ActiveRecord 3.1 支持,請參閱 3.0.x 版本。任何比這更舊的版本,那麼您就只能使用 Thinking Sphinx v2.x(針對 Rails/ActiveRecord 3.0)或 v1.x(Rails 2.3)。請注意,這些舊版本不再受到積極支持。
您將需要標準 Ruby(v2.4 或更高版本)或 JRuby(9.1 或更高版本)。
支援 MySQL 5.x 和 Postgres 8.4 或更高版本。
請注意,該項目有貢獻者行為準則。參與該項目即表示您同意遵守其條款。
要做出貢獻,請克隆此存儲庫並仔細查看規範 - 您會注意到實際使用 Sphinx 並遍歷整個堆疊的驗收測試與使用自由測試替身以確保它們的單元測試(其他所有內容)之間的區別只是測試相關類別的行為。我發現這可以帶來更好的程式碼設計。
所有的開發都是在develop
分支上完成的;請將任何拉取請求基於該分支。請編寫測試,然後編寫程式碼以使它們通過,並透過拉取請求發送。
為了執行測試,您需要建立一個名為thinking_sphinx
的資料庫:
# Either fire up a MySQL console:
mysql -u root
# OR a PostgreSQL console:
psql
# In that console, create the database:
CREATE DATABASE thinking_sphinx;
然後,您可以使用rake spec:unit
執行單元測試,使用rake spec:acceptance
驗收測試,或只使用rake
執行所有測試。要使用 PostgreSQL 運行這些,您需要相應地設定DATABASE
環境變數:
DATABASE=postgresql rake
版權所有 © 2007-2024,Thinking Sphinx 由 Pat Allan 開發和維護,並根據開放的MIT許可證發布。非常感謝所有貢獻補丁的人。