# Search functionality and CMS

**URL:** <https://www.ruby-forum.com/t/search-functionality-and-cms/53026>\
**Category:** Rails\
**Created:** [January 23, 2006, 9:09am UTC](https://www.ruby-forum.com/t/search-functionality-and-cms/53026 "2006-01-23T09:09:09Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Mirko\_N](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/a9a28c/32.png) [@Mirko\_N](https://www.ruby-forum.com/u/Mirko_N)\
**Post date:** [January 23, 2006, 9:09am UTC](https://www.ruby-forum.com/t/search-functionality-and-cms/53026/1 "2006-01-23T09:09:09Z")

</div>

Hello,

I am planning to build a bigger Internet platform and actually  
evaluating  
Java EE and Rails. I have a lot of Java experience and I am quite new to  
Rails. After playing some weeks with Rails I am sure that it is a mature  
web  
framework and I really like the productivtity of Rails. One of the key  
advantages is that new developers will understand this platform much  
quicker  
than all the Java EE Apis and Frameworks.

Despite many features of our platform that will be easy to handle with  
Rails, we need a good full text search on some Text database entries and  
a  
CMS for the content around the application (help, legal, .). We will use  
MySQL as our database, which has some search functionality integrated  
but  
only with MyISAM tables and not InnoDB. It also fails with phonetic  
searches. In Java I would use Lucene fot that which is a great search  
engine. Does anybody know about equivalent search technologies or does  
anybody has solved equal problems?

The same is with CMS - in the Javaworld you have Alfresco, OpenCms, . -  
are  
there any good Ruby/Rails implementations out there?

Thank you for your help.

Mirko

---

<div class="post-metadata">

**Author:** ![Mirko\_N](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/a9a28c/32.png) [@Mirko\_N](https://www.ruby-forum.com/u/Mirko_N)\
**Post date:** [January 23, 2006, 9:26am UTC](https://www.ruby-forum.com/t/search-functionality-and-cms/53026/2 "2006-01-23T09:26:59Z")

</div>

Mirko N. wrote:

> One of the key  
> advantages is that new developers will understand this platform much  
> quicker  
> than all the Java EE Apis and Frameworks.

Amen!

> n Java I would use Lucene fot that which is a great search  
> engine. Does anybody know about equivalent search technologies or does  
> anybody has solved equal problems?

Ferret is a ruby port of lucene (the indexes are compatible)…

[http://ferret.davebalmain.com/trac/](http://ferret.davebalmain.com/trac/)

Mikkel

---

<div class="post-metadata">

**Author:** ![Mirko\_N](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/a9a28c/32.png) [@Mirko\_N](https://www.ruby-forum.com/u/Mirko_N)\
**Post date:** [January 24, 2006, 8:55pm UTC](https://www.ruby-forum.com/t/search-functionality-and-cms/53026/3 "2006-01-24T20:55:35Z")

</div>

On Jan 23, 2006, at 3:26 AM, mikkel wrote:

> > n Java I would use Lucene fot that which is a great search  
> > engine. Does anybody know about equivalent search technologies or  
> > does  
> > anybody has solved equal problems?
> 
> Ferret is a ruby port of lucene (the indexes are compatible)…

Unfortunately that is not entirely true. I’ve tried using indexes  
built with Java with Ferret and had show stopping issues. If the  
indexes are built entirely with Ferret then they’ll work with Ferret,  
but interoperability (which is very important for my application)  
currently is not possible (in my experiments).

```
Erik
```

---

<div class="post-metadata">

**Author:** ![Mirko\_N](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/a9a28c/32.png) [@Mirko\_N](https://www.ruby-forum.com/u/Mirko_N)\
**Post date:** [January 24, 2006, 9:13pm UTC](https://www.ruby-forum.com/t/search-functionality-and-cms/53026/4 "2006-01-24T21:13:44Z")

</div>

On Jan 24, 2006, at 3:04 PM, Mirko N. wrote:

> What are your experiences with Ferret in comparison to Lucene  
> (which I like  
> a lot)?

My Ferret experiences are still light, primarily because of the  
incompatibility with Java Lucene which is a show stopper for me to  
proceed with my application using Ferret. Ferret is nicely done,  
don’t get me wrong. Kudos to Dave in a major way!

But it is not scalable enough yet, and I’d say not ready for prime-  
time for systems with a substantial amount of data. Dave’s cFerret  
promises to fix all of the performance issues. And I surely hope  
he’ll consider making indexes compatible with Java Lucene (or helping  
Java Lucene change its ways, as the case may be).

> documentation  
> looks good.

I’m using Java Lucene via an XML-RPC custom server and its working  
very nicely. Super fast thanks to the incredible speed of Java  
Lucene. As long as you are careful about what goes over the wire  
with remote calls to Lucene, it can be a great solution.

I certainly am heavily biased towards Lucene, of course. But other  
solutions like TSearch2 are very likely not as flexible as doing  
custom work with a Lucene index, and more than likely not as fast  
either.

```
Erik
```

---

<div class="post-metadata">

**Author:** ![Mirko\_N](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/a9a28c/32.png) [@Mirko\_N](https://www.ruby-forum.com/u/Mirko_N)\
**Post date:** [January 25, 2006, 8:17pm UTC](https://www.ruby-forum.com/t/search-functionality-and-cms/53026/5 "2006-01-25T20:17:05Z")

</div>

On 1/24/06, Mirko N. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> I’ve no experience about the performance of TSearch2, but the documentation  
> looks good.

I tested TSearch2 in a search engine for about 450 large text files  
(~50MB total) for a site. The documentation is good and everything  
works well, but it was quite slow. This was using an untuned  
PostgreSQL 7.4 installation, so it is possible that it works much  
better with 8.1 and some tuning.

I also tested Swish-E and ht://Dig. Swish-E was good but doesn’t do  
excerpts, so I really couldn’t use it. I ended up going with  
ht://Dig, which performs well and does excerpts. ht://Dig was a  
couple orders of magnitude faster than TSearch2 on the same hardware  
using my dataset.

---

<div class="post-metadata">

**Author:** ![Mirko\_N](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/a9a28c/32.png) [@Mirko\_N](https://www.ruby-forum.com/u/Mirko_N)\
**Post date:** [January 26, 2006, 8:10pm UTC](https://www.ruby-forum.com/t/search-functionality-and-cms/53026/6 "2006-01-26T20:10:33Z")

</div>

I can echo the kudos to Ferret. It is a project with great potential.  
I’m  
developing with it right now, and haven’t gone to production, so I can’t  
speak to scalablity, but its api is close enough to Lucene’s that it was  
easy for me to switch over (actually, I come from pyLucene, which is  
another  
amazing project).

I believe that Dave’s goal is to follow the Lucene api, so I’m ok with  
using  
Ferret while its still in its early stages, because the api is mostly  
stabilized.

matt

---

<div class="post-metadata">

**Author:** ![Mirko\_N](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/a9a28c/32.png) [@Mirko\_N](https://www.ruby-forum.com/u/Mirko_N)\
**Post date:** [January 28, 2006, 7:48pm UTC](https://www.ruby-forum.com/t/search-functionality-and-cms/53026/7 "2006-01-28T19:48:02Z")

</div>

On 1/24/06, Mirko N. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> - Using PosgreSQL with TSearch2  
> Thanks.
> 
> Unfortunately that is not entirely true. I’ve tried using indexes  
> [http://lists.rubyonrails.org/mailman/listinfo/rails](http://lists.rubyonrails.org/mailman/listinfo/rails)
> 
> * * *
> 
> Rails mailing list  
> removed\_email\_address@domain.invalid  
> [http://lists.rubyonrails.org/mailman/listinfo/rails](http://lists.rubyonrails.org/mailman/listinfo/rails)

Any feedback, feature requests or patches for RailsCron are more than  
welcome! I’ll look into Quartz, and see what they’re offering too.

–  
Kyle M.  
Chief Technologist  
E Factor Media // FN Interactive  
removed\_email\_address@domain.invalid  
1-866-263-3261

---

<div class="post-metadata">

**Author:** ![Mirko\_N](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/a9a28c/32.png) [@Mirko\_N](https://www.ruby-forum.com/u/Mirko_N)\
**Post date:** [January 24, 2006, 9:07pm UTC](https://www.ruby-forum.com/t/search-functionality-and-cms/53026/8 "2006-01-24T21:07:41Z")

</div>

Hi Erik,

What are your experiences with Ferret in comparison to Lucene (which I  
like  
a lot)?

I am currently thinking about these alternatives to Ferret/SimpleSearch  
(which are the two possible choices for Ruby I’ve found, both seem to be  
not  
as mature or feature rich as Lucene):

- Calling Lucene as a Webservice from Ruby
- Using PosgreSQL with TSearch2

I’ve no experience about the performance of TSearch2, but the  
documentation  
looks good.

I am also looking to an alternative to Java’s Quartz project - I’ve  
found  
RailsCron, but this is still a 0.1 and with not so much functionality.  
Does  
anybody have some alternatives to that?

Still searching for a RoR CMS…?

Thanks.

Mirko

-----Ursprüngliche Nachricht-----  
Von: removed\_email\_address@domain.invalid  
[[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)] Im Auftrag von Erik H.  
Gesendet: Dienstag, 24. Januar 2006 20:51  
An: removed\_email\_address@domain.invalid  
Betreff: Re: [Rails] Re: Search functionality and CMS

On Jan 23, 2006, at 3:26 AM, mikkel wrote:

> > n Java I would use Lucene fot that which is a great search  
> > engine. Does anybody know about equivalent search technologies or  
> > does  
> > anybody has solved equal problems?
> 
> Ferret is a ruby port of lucene (the indexes are compatible)…

Unfortunately that is not entirely true. I’ve tried using indexes  
built with Java with Ferret and had show stopping issues. If the  
indexes are built entirely with Ferret then they’ll work with Ferret,  
but interoperability (which is very important for my application)  
currently is not possible (in my experiments).

```
Erik

```

* * *

Rails mailing list  
removed\_email\_address@domain.invalid  
[http://lists.rubyonrails.org/mailman/listinfo/rails](http://lists.rubyonrails.org/mailman/listinfo/rails)
