Custom Squidex Search / Powerup with Algolia/Elastic Search

Hi @Sebastian

Just like how I can overide Custom Editor, is there a way to overide default Squidex Search with Algolia/Elastic search inside Squidex Cloud. The Content team is facing lot of search issues as the content size keeps growing especially when it comes to multi-locale based content. The only way out seems to use our frontend search powered by Algolia even at Squidex CMS Cloud instance level.

Can you suggest of this is achievable as an AddOn / Or Via Scripting to overide Squidex UI functionality at the CMS level

This would really help us as Algolia has Instant Search in Angular and Squidex CMS UI is also in Angular

What issues do you face?

@Sebastian, Thanks for asking

The content team does not like Vanilla search just in the current form( A lot of times they only get exact keyword match, but not results or suggestions for typos- which is very common for over worked tired editors scrambling for deadlines).

They have had a taste of Algolia before on a different product of ours at the frontend. The fact they realize that we can build search capabilities on top of Algolia for frontend users/customers, they want the same experience at the CMS level. As a non-technical members of our team they fail to realize why the same functionality achieved in frontend can’t be duplicated at CMS level ( at the end maing them claim it as a product limitation at Squidex level. I don’t know how easy it is to override search box for advanced customers in Squidex

Publishing houses using CMS with multi-locale support heavily depend on search function to be able to randomly search content at editorial level. They like an Algolia powered search and definitely demand it at the CMS level.

I was thinking about sidebar plugins, it can be probably solved with that, but I cannot just replace the search plugin. It has several requirement that the plugin writer needs to fulfill.

But fuzzy search works in the search as well, for example you can try the following syntax

“sumer~2” finds “summer” in my case. But I have no idea how good it works for CJK languages.

Would you pay for an Algolia extension? Like an addon for a fixed price.

Hello Sebastian
it will be nice if in case you have for example Airports with IATA code and you want to search by that it won’t work well because I apply some “clever” matching on other fields instead of the show the first item with an exact match. I do not know how hard it was to improve this use case.

I am not sure how good algolia is with this scenario, but you need a lot of knowledge about your content to provide a good solution for that.

For example in Lucene you would have to boost the Iata field to give it more weight.

I wrote to this thread but I should maybe start new. Because I do not want to replace the build-in search it works most of the time fine but this is one case that we hit most of the time. It will be nice if it will be possible to define some weight in squidex but I do not know how hard it was and how many peoples use it because it requires to manually tune weight. For us will be fine if it was possible to add higher priority to the exact match on the field I think that makes sense.

I think it does not make that much sense.

I am also considering to remove the current lucene implementation and replace it with MongoDB full text as it is too buggy and then we can think about how to make a deep integration into elastic or algolia. But I do not want to write my own UI for full text indexes, there is too much stuff.

@Sebastian

With Algolia integration you get an Angular UI library which takes care of search results being displayed in a standardised way. The endeavour almost is like a TinyMCE Custom Editor like integration for users who want to upgrade their search experience can utilize an Algolia search integration

Angular InstantSearch is an open-source, production-ready UI library for Angular that lets you quickly build a search interface in your front-end application.

Our goal is to help you implement awesome search experiences as smoothly as possible by providing a complete search ecosystem. InstantSearch tackles an important part of this vast goal by providing front-end widgets that you can assemble into unique search interfaces.

I don’t see how this helps. This is the smallest part of the the implementation to adapt the UI.