On the surface Algolia appears to be really cheap, but if you want to test different configurations you need to create a clone of the index. That's when the number of records suddenly doubles and the number of operations drastically increases. In the own documentation it states: "In case your search engine is querying N indices at each keystroke (a product index, a brand index, a categories index, etc.) then one keystroke will correspond to N operations."
Algolia's engine has been built in such a way that you can index and search any language, or even several languages at the same time. The engine is also typo tolerant, and will allow for up to two typos in each words of the search query. This typo tolerance feature is also language agnostic, as it relies on optimized data structures and "fuzzy" tree traversals (implementing a Damarau-Levenshtein distance algorithm) instead of using dictionaries.
Only 1000 results per search. Workaround: "You can use our Browse method implemented in all our API clients. This method supports most of the search parameters, which allows you to retrieve results beyond this limit."
Elasticsearch gained its popularity amongst developers by being enjoyable to use. A simple feature comparison against it's competition doesn't convey the significant advantages of just how easy it is to work with. This is due to multiple design choices such as the use of JSON for the API and queries.
Another useful and unique feature to Elasticsearch is the ability to have multiple types of documents in a single index. You can then facet, query or filter against all document types or a single type.
This is the official version of hosted ElasticSearch and it's backed by the ElasticSearch developers. This makes it probably the best in terms of stability as far as services that use ElasticSearch as a backend go.
Elasticsearch is currently missing the following features:
Results Grouping / Field Collapsing
Autocomplete
Spell Checker/Did you mean (Available as a third-party plugin)
Decision Tree Faceting
Query Elevation
Hash-based deduplication.
To change the default ranking of results, developers can drag and drop results to re-order them. Doing so will result in changes to be automatically updated on the front-facing website.
Swiftype integrates with all major third party platforms, with a Shopify App, Magento Extension, and WordPress Plugin among others. Swiftype can also be added to Tumblr, Jimdo, Heroku, Weebly, Tumblr, CloudFlare, WebStarts and Desk.com.
The only thing needed to set Swiftype up is to simply paste a Javascript snippet on the website. The crawler will then automatically create a search engine in minutes.
CloudSearch uses cryptographic methods to prevent unauthorized access to third parties. Furthermore, it supports HTTPS and has configurable firewall settings that control access to your domain.
CloudSearch dynamically scales as the amount of searchable data increases or as the query rate changes. The search system utilizes well-understood and automated sharding and replication to scale.
CloudSearch will automatically add search instances and index partitions as required as well as add and remove replicas to respond to changes in search request traffic.
The primary differentiator of CloudSearch is how simple it makes the lives of the developers using it. Not only does it automatically scale, developers can change search parameters, fine tune search relevance, and apply new settings at any time without having to upload the data again and can do so from a simple dashboard.
CloudSearch also automatically takes care of:
Hardware provisioning
Data partitioning,
Software patches.
CloudSearch does out-of-the-box ranking of search results with simple controls to let developers tweak the ranking. You can add stopwords, perform stemming, and add synonyms.
We were able to build a custom search interface with their SDKs. This was tailored to our website, and goes well beyond what we were originally expecting
We had Sajari up and running in a matter of hours. Indexing our website, blog and documentation while providing a custom search experience in different parts of our site. For example the documentation search only only shows results from the documentation and filters out results from the website or blog what aren't relevant.
User-friendly web interface with realtime statistics, intuitive administrative tools and REST API. Integrate with any system without reading endless manuals.
Language-analyzed full-text search including fuzzy queries, phrases and metadata search. Done in milliseconds, no matter how many documents indexed or how complexed query is.
Multi-source document collection and deduplication. Smart document content retrieval and indexing for any file type. Horizontally scalable to petabytes of data and billions of documents.
Can utilize private clouds within public clouds e.g. can leverage private clouds on Microsoft Azure via VNet and VNet Peering for higher security and performance.
Denote has built-in analytics which help developers get a grasp on what the users of their website are searching the most and other relevant and useful data.