Preparing for RSolr 1.0

12 views
Skip to first unread message

matt mitchell

unread,
Oct 16, 2009, 2:19:58 PM10/16/09
to rsolr
RSolr 1.0 is really close. There are a few issues that I'd to bring up
and am hoping I could get feedback from the actual users of RSolr.

The first issue is the Net::HTTP/Curb adapter. My feeling is to just
stick with Net::HTTP and if you *really* want to use Curb, you could
install a separate "driver". One of the original goals for RSolr was
to be as simple as possible, and I don't see a built-in sub-adapter-
framework as simple. I could of course move the Curb adapter out into
something (another gem) that could easily override RSolr. Doing this
would eliminate multiple files, multiple lines of logic and tests.

The second issue is very much related: the XML builder adapter layer.
The XML builder is also based on adapters. I ran some tests though...
a pure Ruby, Solr XML builder v.s. LibXML and/or Builder. The pure
Ruby definitely wins in simplicity and performance. This is because
the XML that Solr needs is very predictable and simple. The Ruby class
is small, with only a few methods. Like the Curb adapter, if you
*really* wanted to use LibXML or Builder, you could load up the
existing adapters; I could move the existing adapters into their own
locations (gems).

Other than those two issues, more tests are needed as well as
documentation. I have hopes of getting a dedicated site up, full of
examples etc.. If anyone wanted to help out with any of this, just
send me a note. Otherwise, I'll be hacking the best I can to get 1.0
out. I'll be sure to keep the change-log updated.

Feedback?

Matt

matt mitchell

unread,
Oct 23, 2009, 11:17:31 AM10/23/09
to rsolr
I've updated to 0.9.7 with the following big changes (below). In
short, I've removed the adapters in favor of simplicity. The XML
generator is faster than LibXML: http://github.com/mwmitchell/xout/raw/master/benchmark-results.txt
- and is embedded within the RSolr library. This means there are no
more dependencies. I haven't published the gem and will probably wait
a few days before doing so.

Cheers,
Matt

0.9.7 - October 23, 2009
Removed XML message builders - using pure Ruby generator instead
- benchmarks show generation speed is a little faster than libxml
- minimal xml escaping so binary posting to Solr should no longer
be a problem.
Changed response.adapter_resonse to response.raw
Removed HTTP adapters - sticking with NetHTTP
Removed builder dependency in gemspec
Removed Adapter and HTTPClient modules
Moved HTTPCLient::Util to Connection::Utils
Updated all tests

matt mitchell

unread,
Oct 23, 2009, 11:19:01 AM10/23/09
to rsolr
Oh, the benchmark lib I'm using is labeled "Xout".

tommy c

unread,
Oct 24, 2009, 4:55:26 PM10/24/09
to rsolr
sounds like a good performance increase, i'll be sure to try it out!

tommy
Reply all
Reply to author
Forward
0 new messages