OpenSearch/ElasticSearch integration, multilingual, async: collective.elastic[plone|ingest]

We created an add-on for OpenSearch or Elasticsearch. It is not brand new, but were never advertised: collective.elastic.plone and collective.elastic.ingest. The first is a Plone add-on, the second if a Celery Queue Worker. Now for both a version 2 was released. Here I won't go into technical details. Please read my blog post CMS married OpenSearch/ Elasticsearch: collective.elastic.plone if you are curious.

It was recently rolled out on two Plone 6 sites, one is ClassicUI, the other Volto.

At the Academy of Fine Art Vienna the full-text search from the ZCatalog was without any meaning. Its a ClassicUI Plone 6 with Mosaic and a bunch of integrations and customization we some years ago. I.e. vcards of employees were never found on top of the list, search results were overall not sorted, relevance was broken.
With our introduction of collective.elastic the results are improved. There is still some editorial work to be done for fine tuning, but now the customer can actively improve the searchability of important pages.

For our customer Geosphere Austria (state-owned weather, geophysical and geological institute) we helped the internal development team to integrate and configure the new collective.elastic stack. @ksuess adapted her Volto add-on volto-searchkit-block/. Geosphere Austria was merged from ZAMG and the Geological Institut about one years ago. So the old websites still exist and content in there need to be searchable at the new site.
In this setup we import content from the old Plone site of ZAMG and the Drupal site of the Geological Institut into Elasticsearch. volto-searchkit-block uses react-searchkit behind the scenes and sends queries direct to Elasticsearch. But for Plone and with enhanced security in mind, we added an proxy-endpoint. It takes the query from Volto, adds a query for allowedRolesAndUsers and filters only content allowed for the current user.
The result is content from three sites, with additional filters.
Here multilingual search is not yet optimized. There is more to come. The site will evolve over time and takes over more and more content in the future, step by step.

3 Likes

Very nice to see these types of integrations! Thanks @jensens

Also enjoyed seeing the Typesense package announced by @zopyx a few days ago

Plone community rocks! :trophy:

1 Like