Hi! On Thu, Mar 31, 2022 at 03:52:45PM +1300, Mason James wrote:
does anyone have any experience running Koha with ES?
i've done some basic testing (on 20.11) - it seems to work well and its speed is impressive! (🦄 + 🌈)
- is it generally safe to run in production? - any major problems, or missing areas of functionality?
We launched a big library using ElasticSearch this January, it work very well, but: * you need to make sure to give ES the proper resources on the server. It will need more RAM than Zebra... * I discovered (and fixed) a few bugs in the ElasticSearch Mappings Tool, until they are merged (and published in a new release) be very careful with this DataTable! (30142, 29893, 29010) * Not all searches use those mappings, eg auth_finder.pl uses hardcoded MARC fields * ElasticSearch interprets lowercase boolean ops as literal search terms. So "foo or bar" finds docs that contain "foo" and "or" and "bar", but "foo OR bar" finds docs containing either "foo" or "bar". AFAIK in 20.11 most of these problems are fixed, but see 30153 for a rather recent fix (which I think is already available in the most recent point releases) * One thing that proved problematic during our initial migration of 500k records was that ElasticSearch indexing is automatically triggered after each edit for each item. This is fine when editing / catalouging by hand, because all changes are immediatly available. But during migration it caused a huge performance hit. There is / was some work to offload the indexing to a worker process, but I think that's not done / stalled. So we hacked our instance to skip the immediate indexing via an ENV var (much easier than passing a command line flag from the script through several layers of modules) having said that, I think going with ES is a very smart move, because (other then Zebra) it's a standard tool with very good docs and a lot of knowledgable people (i.e. stackoverflow) to help you :-) Greetings, domm -- #!/usr/bin/perl https://domm.plix.at for(ref bless{},just'another'perl'hacker){s-:+-$"-g&&print$_.$/}