Closed nilsml closed 3 years ago
With new tasks with higher priority (#175) comes along, this will have to wait. We should find out how important it is for us to have the name of the search engine provider in the documents for DG3. There is a point about mentioning the external api's used in the project.
I have now done some research on this topic. It turns out that there are many companies offering search "engines" for web sites and applications, but they are hard to compare. The focus areas for each service are sometimes quite different. So is the pricing model.
From what I can see we can at least put them in two categories; the ones crawling your web site and the ones you'd feed with the content you want to index. For the first category there are quite a lot of contenders. AddSearch and Swiftype are good examples. These are well renowned and probably very good at what they do. However they do not give the developers the flexibility wanted/needed for this project. At least my understanding is that we want the ability to customize the search in a rather granular way.
For the second category you'll find Algolia together with Azure Search and the likes of Elastic Search. Elastic Search is kind of low level and it would require quite a lot of work creating all the functionality we need in the project. Azure Search is very capable in many respects, and the cognitive part is really advanced. It is quite costly, though, and it is lacking in the component department. We would have to create everything we need for the visual part if we are to go with this solution.
Then at last Algolia. In some respects it is similar to Azure Search, but where AS is a very generic tool for indexing data and making it searchable, Algolia is more targeted on web sites. They have a component suite and analytics built in. Also Algolia has been used by some/one team member(s) in previous projects, and would thus give an advantage in terms of development speed. The pricing model is not very predictable which I don't like, but with expected™ traffic it looks like it is competitive.
I don't think we should spend more time on evaluating this at this stage. We could continue as if Algolia is the preferred tool, and adjust if we meet some show stopping challenges.
From the list of requirements in #140 we need to find the search solution that is best suitable for the job. Algolia is one candidate. Any other good candidates?