Hi all,
On Dec 11, 2009, at 7:52 PM, Jacob Elder wrote:
What versions of acts_as_solr are you all using?
There appears to be about a dozen forks on GitHub, including my own.
http://acts-as-solr.rubyforge.org/ has a notice that the official site is
now http://acts_as_solr.railsfreaks.com/, but *don't click that
link*because it's just a mess of pop-up ads now. It would be great to
get some
consolidation and agreement from the community.
I agree, it is a mess; I'm sure it will only get worse as people
complete the migration to Solr 1.4, as there are a bunch of features you
can't easily access through acts_as_solr.
At my company we use acts_as_solr extensively, which means I have my own
fork at http://github.com/andreacampi/acts_as_solr , and even worse our
local git repo has even more changes, integrating patches collected here
and there on the net (we didn't find the time yet to push them out to
github).
Of course that's far from ideal. It would be good to get that cleared
up. I would have done it already, except for the chronic lack of time.
But then again... read below.
Erik Hatcher wrote:
And take a look at this ridiculous bug (in at least one fork) of
acts_as_solr:
<http://groups.google.com/group/acts_as_solr/browse_thread/thread/4e1dee03a46c6415>
I doubt it's just in one fork; acts_as_solr does too many magical things
that end up biting you in the ass as soon as you do something slightly
more complex.
In our local fork I removed all the magic that deals with field types
(not just suffixes, there are other related issues I can't remember
right now).
So... what do we do?
Can we get the best version of acts_as_solr donated to Solr's svn?
Who can rightfully say where the IP of that comes from so we can
ensure it's provenance is clear and cool by all who touched the
code? Or maybe we just start from scratch with the simplest thing
that can possibly work (like my acts_as_solr_"lite" (page 13 of
http://code4lib.org/files/solr-ruby.pdf) and iterate from there in
Apache's svn?
Frankly, at this stage I would advise against spending any more time on
acts_as_solr, unless a more extensive redesign is undertaken.
acts_as_solr is very convenient as a way to publish models to Solr, but
the search API is sorely lacking, and it's way too complicated.
ParserMethods#parse_query is plain weird, willy-nilly calling options by
a different name to the one the underlying library does; and so on (one
example really stands out: to specify a filter query you have to use
options[:facets][:browse] even though you may not be doing any faceting
at all).
I would love to see the find_* methods be implemented as thin wrappers
on top of the ruby solr library, with the main (only?) difference being
that they return ActiveRecord objects. This would make acts_as_solr less
surprising, more reliable but also let us use any new feature that
requires new parameters with no changes.
And if I can dream, I would also like to see rsolr's syntax
supported--maybe acts_as_solr should be an adapter on top of your choice
of either underlying library?
And... starting from your acts_as_solr_lite does sound like an option,
actually!
It would probably be quite a lot of work, but it would result in
something much cleaner.
So I would say the next step should be a list of "likes" and "don't
likes", see if we can get consensus, and see if we can get people to
work on it :)
Bye,
Andrea