# Recommended search library?

**URL:** <https://www.ruby-forum.com/t/recommended-search-library/56552>\
**Category:** Rails\
**Created:** [April 1, 2006, 1:52am UTC](https://www.ruby-forum.com/t/recommended-search-library/56552 "2006-04-01T01:52:56Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![jeff](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e19b73/32.png) [@jeff](https://www.ruby-forum.com/u/jeff)\
**Post date:** [April 1, 2006, 1:52am UTC](https://www.ruby-forum.com/t/recommended-search-library/56552/1 "2006-04-01T01:52:56Z")

</div>

I’m at a point where I’d like to start adding search capability to my  
app, so I thought I’d ask:

Anyone have any recommendations for a good Rails search  
library/plugin/etc? There seem to be quite a few different ones out  
there, but I don’t have much context on any of them.

What is the difference between using Ferret, or a SearchGenerator,  
SimpleSearch, etc?

Thanks!  
Jeff

---

<div class="post-metadata">

**Author:** ![jeff](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e19b73/32.png) [@jeff](https://www.ruby-forum.com/u/jeff)\
**Post date:** [October 9, 2006, 2:23pm UTC](https://www.ruby-forum.com/t/recommended-search-library/56552/2 "2006-10-09T14:23:00Z")

</div>

im not sure what my application needs. basically all of my data, so  
called food recipes, are going to be stored in a table. if a user types  
in “bbq ribs” in the search box that is specified to search for title  
field in the recipe table, will it match titles that are named “island  
bbq style ribs”, “grilled ribs”, or does the search engines need exact  
title match to return a query? does the search engine return the titles  
that match both words first? etc…

maybe i should go with ferret since its most widely use?

any help would be greatly appreciated. thank you.

---

<div class="post-metadata">

**Author:** ![jeff](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e19b73/32.png) [@jeff](https://www.ruby-forum.com/u/jeff)\
**Post date:** [April 1, 2006, 7:23am UTC](https://www.ruby-forum.com/t/recommended-search-library/56552/3 "2006-04-01T07:23:03Z")

</div>

I have had the best results with using acts\_as\_ferret.

John

---

<div class="post-metadata">

**Author:** ![jeff](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e19b73/32.png) [@jeff](https://www.ruby-forum.com/u/jeff)\
**Post date:** [October 10, 2006, 2:02pm UTC](https://www.ruby-forum.com/t/recommended-search-library/56552/4 "2006-10-10T14:02:35Z")

</div>

Hi,

I prefer acts\_as\_searchable. It user HyperEstraier (it seems to have  
better utf support then ferret).

It is a bit more complex to setup HyperEstraier, but I think it is  
worth it.

[http://poocs.net/2006/4/6/introducing-acts-as-searchable](http://poocs.net/2006/4/6/introducing-acts-as-searchable)

Hamza

---

<div class="post-metadata">

**Author:** ![jeff](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e19b73/32.png) [@jeff](https://www.ruby-forum.com/u/jeff)\
**Post date:** [October 9, 2006, 3:11pm UTC](https://www.ruby-forum.com/t/recommended-search-library/56552/5 "2006-10-09T15:11:34Z")

</div>

Hi,

bbqTree schrieb:

> maybe i should go with ferret since its most widely use?

Yes: [http://projects.jkraemer.net/acts\_as\_ferret](http://projects.jkraemer.net/acts_as_ferret)

Lutz

---

<div class="post-metadata">

**Author:** ![jeff](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e19b73/32.png) [@jeff](https://www.ruby-forum.com/u/jeff)\
**Post date:** [October 10, 2006, 4:15pm UTC](https://www.ruby-forum.com/t/recommended-search-library/56552/6 "2006-10-10T16:15:00Z")

</div>

On 10/10/06, hamza khan-cheema [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Hi,
> 
> I prefer acts\_as\_searchable. It user HyperEstraier (it seems to have  
> better utf support then ferret).

Hi Hamza,

In what way is the utf8 support better? Just curious.

Dave

---

<div class="post-metadata">

**Author:** ![jeff](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e19b73/32.png) [@jeff](https://www.ruby-forum.com/u/jeff)\
**Post date:** [October 10, 2006, 4:41pm UTC](https://www.ruby-forum.com/t/recommended-search-library/56552/7 "2006-10-10T16:41:22Z")

</div>

Dave,

Well I guess that statement does not have much weight behind it. I  
should not have said that, it is just my impression 🙂

I can just base that on past experiance. If you go to the  
HyperEstraier demonstration site, in Japanese  
([Hyper Estraier: a full-text search system for communities](http://rbbs.sourceforge.jp/cgi-bin/estdemo-ja/estseek.cgi?clip=7)) You  
will see that it handles utf-8 very nicely.

When I was working on [www.chinadialogue.net](http://www.chinadialogue.net) , I first started using  
Ferret, but found that I was having difficulities indexing the content.  
So I tried using HyperEstaier, and it just seemed to make the index.

Looking back, it might not have anything to do with utf-8, just my lack  
of knowledge.

Hamza

---

<div class="post-metadata">

**Author:** ![jeff](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e19b73/32.png) [@jeff](https://www.ruby-forum.com/u/jeff)\
**Post date:** [October 10, 2006, 5:15pm UTC](https://www.ruby-forum.com/t/recommended-search-library/56552/8 "2006-10-10T17:15:35Z")

</div>

On 10/10/06, hamza khan-cheema [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> When I was working on [www.chinadialogue.net](http://www.chinadialogue.net) , I first started using  
> Ferret, but found that I was having difficulities indexing the content.  
> So I tried using HyperEstaier, and it just seemed to make the index.
> 
> Looking back, it might not have anything to do with utf-8, just my lack  
> of knowledge.

Maybe not. Ferret has come a long way in the last few months. UTF-8  
data should be fine. The only problem you might run into now is if you  
use mixed data encodings like UTF-8 and ISO-8859-1 together but I  
imagine this wouldn’t be good in HyperEstraier either. Maybe I’m wrong  
and it does detecting the data encoding somehow.

Cheers,  
Dave
