Quel plugin pour recherche sur modèles


#1

Bonjour,

J’ai plusieurs modèles qui ont des zones texte et j’aimerai savoir
quel plugin vous conseillez pour faire une recherche textuelle sur un
ou plusieurs modèle à la fois et qui ne soit pas sensible à la casse
et aux accents.

Merci d’avance
Nicolas


#2

Je suis justement en train de prendre en main acts_as_ferret

pas sensible à la casse et aux accents

Avec AAF on doit pouvoir intervenir au moment de l’indexation pour
nettoyer
le texte

More on that later …


#3

Thinking Sphinx
Simple et efficace

Sur GitHub :
http://github.com/freelancing-god/thinking-sphinx/tree/master

Sur Railscasts :
http://railscasts.com/episodes/120-thinking-sphinx

On Fri, Nov 21, 2008 at 12:22 PM, philippe lachaise
removed_email_address@domain.invalid wrote:


Mathieu FOSSE

Dev blog : http://blog.kawooa.org
étrange blog : http://www.etrangeblog.com
étrange mélange : http://www.etrangemelange.com


#4

Bonjour Mathieu,

J’ai regardé le screen cast effectivement ça à l’air facile
d’utilisation (si sphinx est installé). Je vais aussi regarder AAF
car mon hébergeur le propose en standard (gem)

Merci


#5

Mathieu FOSSE wrote:

Thinking Sphinx
Simple et efficace

Mais Sphinx est pas dépendant uniquement de MySQL ?


Cyril M.
http://blog.shingara.fr


#6

Un des avantages de ferret c’est le bouquin :
http://safari.oreilly.com/9780596519407

Aussi, de mémoire (j’ai regardé sphinx très rapidement), AAF permet une
customisation plus fine au niveau de l’interaction avec les modèles.


#7

Un avantage de ferret (non j’ai pas d’actions :wink: c’est qu’il indexe Ã
la
volée, supprimant ainsi le besoin d’un cron pour rafraichir les index en
batch, ce que font certains concurrents.

Sphinx je sais pas coomment il s’y prend ?


#8

Pourquoi c’est quoi la base de données là ?

Le serveur Sphinx en lui je crois pas :
“Currently built-in data sources support fetching data either via
direct connection to MySQL or PostgreSQL, or using XML pipe mechanism”

Après le plugin je sais plus trop :wink:

On Fri, Nov 21, 2008 at 6:07 PM, Cyril M. removed_email_address@domain.invalid
wrote:

http://blog.shingara.fr


Mathieu FOSSE

Dev blog : http://blog.kawooa.org
étrange blog : http://www.etrangeblog.com
étrange mélange : http://www.etrangemelange.com


#9

Ils ont réglé leurs problèmes de corruption d’index ?

Si on utilise l’indexation dans un process séparé (DRb) c’est
incorruptible
:wink:

Enfin je répète ce que j’ai lu partout ; je vous dirai si ça me pête Ã
la
figure dans les jours qui viennent.

D’après ce que je comprend, c’est justement cette avanatage d’indexer Ã
la
volée et non avec des batch (chiants à gérer) qui causait la corruption
en
multi-accès.

Le serveur ferret qui tourne dans un process séparé sérialise les accès
et
donc ne s’emmèle pas les pinceaux.

C’est bien expliqué ici : http://projects.jkraemer.net/acts_as_ferret/

Je croise les doigts pour que tout marche (m’enfin les autres je sais
pas
plus si ils marchent) parce que Ferret est celui qui me semble de loin
le
plus Rubyesque et j’aimerai bien standardiser mes devs avec.


#10

On Fri, Nov 21, 2008 at 6:55 PM, philippe lachaise
removed_email_address@domain.invalid wrote:

Un avantage de ferret (non j’ai pas d’actions :wink: c’est qu’il indexe à la
volée, supprimant ainsi le besoin d’un cron pour rafraichir les index en
batch, ce que font certains concurrents.

Sphinx je sais pas coomment il s’y prend ?

Thinking Sphinx Utilise un delta :
http://ts.freelancing-gods.com/usage.html

"Delta Indexes

One of the major problems users hit when incorporating Sphinx into
their systems, is that there’s no way to update a single particular
document in the indexes. This may be a future feature, but until then,
the best way to keep your indexes current is to use delta indexes –
small indexes of any changes that have happened since you last did a
full index build.

How to enable this, though? Add a boolean field to your model, called
‘delta’, and add the following line into your define_index block:

set_property :delta => true
Then stop Sphinx, re-index, and start it up again. From that point,
any time an indexed model instance is changed, the delta index will be
rebuilt. Because it is only a small number of records, the rebuild
will happen quickly, and the changes are incorporated into searches.
However, you still need to run a full index regularly, otherwise the
delta index will get larger and larger, and your system will slow
down."

Mais bon il faut tout de même un cron pour “rebuilder” l’index de
temps en temps.


Mathieu FOSSE

Dev blog : http://blog.kawooa.org
étrange blog : http://www.etrangeblog.com
étrange mélange : http://www.etrangemelange.com


#11

Sphinx n’est même pas dépendant d’une base de données relationnelles en fait.

++

yk

2008/11/21 Cyril M. removed_email_address@domain.invalid:


#12

Si tu débutes dans le monde de la recherche et de l’indexation et que
tu as peu de compétences en admin, Sphinx n’est pas forcément le
meilleur choix. Mais sinon, effectivement, c’est plutôt pas mal :slight_smile:

++

yk

Le 21 novembre 2008 17:50, Tranquiliste
removed_email_address@domain.invalid a écrit :


#13

Un autre avantage notable de AAF est de pouvoir indexer des attributs
dynamiques des modèles et pas seulement les valeurs des champs dans le
DB.

Ca peut être très utile dans des tas de contextes ; par exemple, je
m’apprète à m’en servir pour une appli multi-lingue :

J’ai un plugin (fait maison) qui fonctionne en complément de Gobalite
(ou de
tout autre plugin i18n, si on veut) et qui me permet de déclarer des
attributs localisables dans mes modèles, e.g :

class Training < ActiveRecord::Base

def locale
current_locale # (some magic here)
end

acts_as_ferret( :remote => true,
:fields => [
:locale,
:title,
:school,
] )

…/…

acts_as_localized(
:localized_fields => [
:title,
:school,
:location,
:specialization,
:description,
]
)

end

En l’occurence, aucun des “champs” indexés n’existe dans la table
“trainings” ; ils n’en seront pas moin indexés, ce qui m’arrange bien.

(bon maintenant j’ai intérêt à ce que ça marche :wink:


IciMarché fédère l’e-commerce de proximité
http://icimarche.fr


#14

2008/11/21 philippe lachaise :

Un avantage de ferret (non j’ai pas d’actions :wink: c’est qu’il indexe à la
volée,

Ils ont réglé leurs problèmes de corruption d’index ?

supprimant ainsi le besoin d’un cron pour rafraichir les index en
batch, ce que font certains concurrents.

Sphinx je sais pas coomment il s’y prend ?

cron

– Jean-François.


Rails Party à Paris dimanche 30 novembre !

http://twitter.com/underflow_