On Sat, Mar 31, 2012 at 05:22:04PM +0200, Frédéric Demians wrote:
For me, the most undecided/mysterious part of the whole is the query parser. Now, Koha support several syntaxes thanks to ZOOM yaz client: PQF, CCL and CQL. Queries in those syntaxes are directly given to ZOOM. I can't figure out how it can be reproduced with other search engine than Zebra... This isn't a small piece of engineering. See above the citation about Data::SearcEngine::ElasticSearch. It's one thing to abstract a search result and its paging, and another thing to abstract a query language--imagine three languages...
grep ZOOM::Query C4/* indeed shows that we are using all variations of ZOOM query languages ;-) But, it seems that rest of Koha code is calling mostly C4::Search::SimpleSearch with small subset of query language which could be rewritten for other engines. I would opt to extend C4::Search API with small special purpose wrappers for various search cases, for example: C4::Search::SimpleSearchCatalog would add "kw,wrdl:$query" for Zebra and pass it to C4::Search::SimpleSearch. This would make $query in code to be only user entered query as opposed to CCL+user query. Problem with our current CCL+user query approach manifests itself in intranet: 1. do search for "human" 2. click Z39.50 Search 3. wonder why Title: includes "kw.wrdl: human" instead of only "human" Clicking Search without erasing first "kw,wrdl:" results in "Nothing found." which is wrong. p.s. is there easy way to get started with SOLR code to test it? I know this was probably answered in Marsielle, but I was too busy with plack ;-) -- Dobrica Pavlinusic 2share!2flame dpavlin@rot13.org Unix addict. Internet consultant. http://www.rot13.org/~dpavlin