Un guide de la première utilisation afin de configurer Thinking Sphinx.

Premièrement, vous allez devoir installer Sphinx et Thinking Sphinx. Pendant que Sphinx est en train de compier, aller lire quelle est la différence entre les champs et les attributs pour Sphinx. C’est une partie importante.

Une fois que c’est fait, il est temps de configurer un index sur votre model. Dans l’exemple ci-dessous, nous prenons l’exemple d’un model ayant la classe Article.

class Article < ActiveRecord::Base
  # ...
  
  define_index do
    # fields
    indexes subject, :sortable => true
    indexes content
    indexes author.name, :as => :author, :sortable => true
    
    # attributes
    has author_id, created_at, updated_at
  end
  
  # ...
end

La prochaine étape est d’indexer vos données:

rake thinking_sphinx:index

Si vous voyez un invertissement comme ce qui suit – il ne faut pas en tenir compte, c’est juste que Sphinx est peu permissif.

distributed index 'article' can not be directly indexed; skipping.

Une fois cette étape effectuée, nous démarrons Sphinx et nous pourrons envoyer nos requêtes:

rake thinking_sphinx:start

Et maintenant nous pouvons chercher!

Article.search "topical issue"
Article.search "something", :order => :created_at,
  :sort_mode => :desc
Article.search "everything", :with => {:author_id => 5}
Article.search :conditions => {:subject => "Sphinx"}

Bien sûr, c’est une vue d’ensemble extrèmement simple. Il vous sera très certainement utile d’en lire un peu plus pour une meilleure compréhension des meilleurs moyens d’indexation et de recherche.