Oops! >> Solr does a number of things that are really nice (that aren't really >> addressed by Solr) I obviously meant:
"Solr does a number of things that are really nice (that aren't really addressed by Compass)" -N -----Original Message----- From: Minutello, Nick Sent: 21 January 2010 17:52 To: solr-user@lucene.apache.org Subject: RE: Solr vs. Compass Not sure how many here have used both ... I've used raw Lucene in the past - and after that, Compass. More recently Solr. Here are some of the things I have noticed: 1) Stating the obvious: Solr has a server capability that Compass/Lucene does not. This means indexing/searching is available to non-java clients without writing any code. 2) Compass does a number of things really nicely (that afaik, isn't addressed by Solr) + Object-search engine mapping (great for structured data - i.e. not just text documents). I find writing the code that converts to/from a SolrDocument a bit annoying (but in my current project, the data is really simple). If you have many different kinds of things that you want to index ... Compass has an advantage. + Transactional updates & linking in, via transactional coordinator, a database transaction. This means that the primary persistence (database) is always in line with the index (notwithstanding some funky edge cases). This is very useful if your indexing needs to be 'realtime' - i.e. user cannot see a delay between what is served off the index vs. something they just updated. Jira is a good example (though they don't use compass). + Multi-index support - gives better transaction isolation (locking is done at the granularity of the subindex - but searching is across the whole index). There might be a solr analogue, but I haven't seen it yet. 3) Solr does a number of things that are really nice (that aren't really addressed by Solr) + auto-commit & StreamingUpdate client. This client and server-side + buffering is very nice in dealing with high indexing throughput, + without having to write the queuing/buffering + Facets + Handles date and integer types (and range queries on them) + automatically. (With compass you have to write an index mapping so + that you can do range queries) + I find the built-in Luke support really handy. I would say that if you are just indexing simple text, and you don't have to remain tightly in synch with the database, use Solr. If you're data is more structured, and you have more complex read/write/synchronisation-with-db requirements, go with Compass. In terms of using them, I find Solr config a bit confusing - and like most apache projects it has a bazillion dependencies :) Compass can be a bit confusing also (the names, Compass, GPS, etc... Don't resonate well with me (sorry Shay)) - but if you have used hibernate, compass will feel very familiar. -Nick + In response to earlier mails Compass is not really anything like + hibernate search. Admittedly I haven't touched HS in a while, but it + seemed they completely missed the point of using lucene (i.e. being + able to satisfy search results & statistics via collectors super-super + fast without hitting the DB) + There seems to be an implication that compass wont scale as well as solr - and I'm not sure that's true at all. They will both scale as well as the underlying Lucene. -----Original Message----- From: Ken Lane (kenlane) [mailto:kenl...@cisco.com] Sent: 21 January 2010 17:08 To: solr-user@lucene.apache.org Subject: RE: Solr vs. Compass Uri, Lucas, Thanks for your feedback. To clarify on some specifics, 1. Yes, faceted search and DisMax are very imortant to this project. 2. Our data is imported from Oracle tables. (Unstructured sources maybe later). We manufacture each document from DB queries. 3. Our platform won't be transactional, we will update the indexes periodically throughout the day probably via dataimport handler. Regards, Ken -----Original Message----- From: Uri Boness [mailto:ubon...@gmail.com] Sent: Thursday, January 21, 2010 11:35 AM To: solr-user@lucene.apache.org Subject: Re: Solr vs. Compass In addition, the biggest appealing feature in Compass is that it's transactional and therefore integrates well with your infrastructure (Spring/EJB, Hibernate, JPA, etc...). This obviously is nice for some systems (not very large scale ones) and the programming model is clean. On the other hand, Solr scales much better and provides a load of functionality that otherwise you'll have to custom build on top of Compass/Lucene. Lukáš Vlček wrote: > Hi, > > I think that these products do not compete directly that much, each > fit different business case. Can you tell us more about our specific > situation? > What do you need to search and where your data is? (DB, Filesystem, > Web > ...?) > > Solr provides some specific extensions which are not supported > directly by Lucene (faceted search, DisMax... etc) so if you need > these then your bet on Compass might not be perfect. On the other hand > if you need to index persistent Java objects then Compass fits > perfectly into this scenario (and if you are using Spring and JPA then > setting up search can be matter of several modifications to configuration and > annotations). > > Compass is more Hibernate search competitor (but Compass is not > limited to Hibernate only and is not even limited to DB content as well). > > Regards, > Lukas > > > On Thu, Jan 21, 2010 at 4:40 PM, Ken Lane (kenlane) <kenl...@cisco.com>wrote: > > >> We are knee-deep in a Solr project to provide a web services layer >> between our Oracle DB's and a web front end to be named later to >> supplement our numerous Business Intelligence dashboards. Someone >> from a peer group questioned why we selected Solr rather than Compass >> to start development. The real reason is that we had not heard of >> Compass until that comment. Now I need to come up with a better answer. >> >> >> >> Does anyone out there have experience in both approaches who might be >> able to give a quick compare and contrast? >> >> >> >> Thanks in advance, >> >> Ken >> >> >> > > =============================================================================== Please access the attached hyperlink for an important electronic communications disclaimer: http://www.credit-suisse.com/legal/en/disclaimer_email_ib.html =============================================================================== =============================================================================== Please access the attached hyperlink for an important electronic communications disclaimer: http://www.credit-suisse.com/legal/en/disclaimer_email_ib.html ===============================================================================