[Koha-devel] Search Engine Changes : let's get some solr

LAURENT Henri-Damien henridamien.laurent at biblibre.com
Sun Nov 14 22:14:06 CET 2010


Le 14/11/2010 18:32, Chris Cormack a écrit :
> On 15 November 2010 06:25, LAURENT Henri-Damien
> <henridamien.laurent at biblibre.com> wrote:
>> Le 11/11/2010 15:19, Ian Walls a écrit :
>>> Ah, right, I'd forgotten about that switch, as it doesn't work with
>>> authorities, and I can't do rebuild_zebra.pl <http://rebuild_zebra.pl>
>>> -a -b -x -z in my crontab.
>>>
>>> So, the ISO2709 character limit is not actually an issue at all, then.
>>>
>> Well, actually, it is in koha.
>> Since Koha gets iso2709 from a zebra search.
>> If it Koha would take marcxml, it would be even slower to get search
>> results with the Search.pm as it stands now... And let me know if you
>> know a librarian who would like that.
> 
> Yep, there is utterly no doubt C4::Search needs a rewrite. This was a
> goal of 3.4. I'm pretty sure I mentioned it in my proposal, and we had
> some volunteers to work on it.
> 
> I still think it is nessecary, but I do think it is better to do it in
> a way that allows for a structure like
> C4/Search.pm
> C4/Search/Nutch.pm
> C4/Search/Zebra.pm
> C4/Search/Solr.pm
> 
> Or using searchengine or something else to achieve the same.
Well.
Our code is based on Data::SearchEngine,
All we would have to do is writing a wrapper for Zebra, Nutch Whatever.
And try and use that in the C4::Search.
We took the burden to refactor the C4::Search.
We wanted to test and make that work with Solr.
If someone is volunteering for a Data::SearchEngine::Zebra, feel free...

We also just discovered something about zoom and zebra.
It really has a problem when you are using persistent connexions to it.
Be warned...
Indeed,
a) when doing more than 200 searches, searches are getting slower and
slower. And memory footprint increases.

b) there is no way to disconnect cleanly.
One has to destroy the connection, (we patched C4::Context to ba able to
destroy the connections) but destroy won't close cleanly the connection
on the zebra server. and there will be a thread that will be left for
each connection you open and close.
-- 
Henri-Damien LAURENT


More information about the Koha-devel mailing list