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.