Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dharnitski/Sitecore.Algolia
Sitecore search provider for Algolia
https://github.com/dharnitski/Sitecore.Algolia
Last synced: 13 days ago
JSON representation
Sitecore search provider for Algolia
- Host: GitHub
- URL: https://github.com/dharnitski/Sitecore.Algolia
- Owner: dharnitski
- License: mit
- Created: 2016-03-17T03:00:58.000Z (over 8 years ago)
- Default Branch: develop
- Last Pushed: 2016-12-28T20:27:02.000Z (almost 8 years ago)
- Last Synced: 2024-04-28T14:05:09.038Z (7 months ago)
- Language: C#
- Homepage:
- Size: 4.38 MB
- Stars: 11
- Watchers: 6
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Sitecore search provider for Algolia
Algolia is a Hosted Search API that delivers instant and relevant results. This project implements Search Provider for Algolia in Sitecore.
## How to setup
Find right Nuget package for your Sitecore version. Currenly project supports all Sitecore versions from 7.0 to 8.1 you can find versions matrix below:
* [Algolia.Sitecore.8.2](https://www.nuget.org/packages/Algolia.Sitecore.8.2/) for Sitecore 8.2
* [Algolia.Sitecore.8.1](https://www.nuget.org/packages/Algolia.Sitecore.8.1/) for Sitecore 8.1
* [Algolia.Sitecore.8](https://www.nuget.org/packages/Algolia.Sitecore.8/) for Sitecore 8.0
* [Algolia.Sitecore.7](https://www.nuget.org/packages/Algolia.Sitecore.7/) for Sitecore 7.0-7.2Add Nuget package to your Visual Studio web project for Sitecore. Package will add all required DLLs. Config files should be implemented manually.
Below you can find instructions for configs setup applicable for Sitecore 8.1. Different Sitecore versions may requre slightly different configuration. Use default Lucene search config files to identify these variations.
Test project includes sample configuration files:
* [Index Configuration](https://github.com/dharnitski/Sitecore.Algolia/blob/develop/Score.ContentSearch.Algolia.Tests/SampleConfiguration/AlgoliaTestConfiguration.Sc81.config)
* [Index Definition](https://github.com/dharnitski/Sitecore.Algolia/blob/develop/Score.ContentSearch.Algolia.Tests/SampleConfiguration/AlgoliaTestIndex.Sc8.config)Copy these files into *site-root/App_Config/Include* folder. Now we need to make some changes to connect index with your Algolia account and filter data to include only relevant content.
### Setup Index Configuration
Find commented *include* section
Uncomment it and replace Ids in that section with Ids of templates you want to index. Typically that will be templates for pages.
### Setup Index Definition
Index has some parameters required for Algolia connection:
* applicationId - Application ID
* fullApiKey - Admin API Key
* indexName - Index Name.All these values defined in [Algolia Api Keys](https://www.algolia.com/api-keys) page.
website
Site parameter stores name of your site. That value will be used to define some site specific values like *targetHostName*.
Strategy is used to control what causes by Sitecore to update data in search index. This is standard Sitecore config and you can find more information about that in [John West's blog post](http://www.sitecore.net/learn/blogs/technical-blogs/john-west-sitecore-blog/posts/2013/04/sitecore-7-index-update-strategies.aspx)
master
/sitecore/content/Home
Crawler is a class that reads data from Sitecore database before it will be added to the index. This is also standard Sitecore configuration, although we need to do some changes here.
* Database - align this with strategy. *syncMaster* should work with *master* database and *onPublishEndAsync* should work with *web* or whatever is your publishing target database.
* Root - Crawling root item. Typically that will be homepage of your site## Why another provider?
Sitecore supports Lucene and Solr, other vendors have their engines like Coveo. So, why anybody wants to build one more provider?
Because it is different:* Algolia is cool, blazing fast, requires no maintenance and easily configurable
* Algolia includes modern [instantsearch.js](https://community.algolia.com/instantsearch.js) UX Framefork that simplifies construction of custom Search pages
* Search Provider designed for Domain search and Multitenancy## Is there anything you cannot do with this provider?
Algolia is a razor comparing to swiss army knife. Index designed for speed and easy use and do not implement all the features that generic search engine has.
As a result Algolia cannot replace default Sitecore indexes.This provider includes only crawling part (code that sends data to the index). Linq to Search is not included and not on the roadmap.
To make it fast, search has to be run on client side. Check Algloa JS UI [instantsearch.js](https://community.algolia.com/instantsearch.js) or join me in [Algolia simple UI for Sitecore](https://github.com/dharnitski/Algolia.Sitecore.UI)