What is Elastic App Search?
App Search is a search solution that is built on Elasticsearch. Using App Search, one can build search experience faster. One can tune relevance, create synonyms or even change the index schema using the App Search Dashboard. All one needs is a dataset they want to search upon.
App Search literally works like search endpoint to your application.
Wait, why not Elasticsearch?
Elasticsearch is the world's most popular Open Search Engine. Elasticsearch is also a distributed system. It offers REST APIs to build a search backend similar to App Search.
But App Search simplifies the developer experience and helps you get search ready in minutes. In fact, all the beauty of App Search is coming directly from Elasticsearch.
Getting Started with App Search
App Search is available in a self managed and SaaS version. This tutorial gives a walkthrough of the App Search Self Managed version with powered by Elastic Cloud.
To get started with the tutorial, please create an account in Elastic Cloud using this link. Spin up a cluster.
Alternatively, you can download and start Elasticsearch with /bin/elasticsearch
which by default runs on 9200
port. But you need to add action.auto_create_index: ".app-search-*-logs-*,-.app-search-*,+*"
to elasticsearch.yml
in the config folder.
When you hit your-ip:9200
, you should be seeing an output like below.
App Search can be downloaded from here. App Search by default comes with a Filebeat to ship relevant Search API logs and Analytics back to Elasticsearch. So you don't need to install anything specifically on App Search Server.
Connect App Search with the Elasticsearch Cluster by changing the configuration in /config/app-search.yml
.
Uncomment allow_es_settings_modification: true
Start the App Search process with the command /bin/app-search
.
App Search runs on 3002
. When you hit your-ip:3002
in your browser, you should be able to see the App Search welcome screen.
Click on Continue to Login
. The default credentials are printed in the command line, when you have started the /bin/app-search
. For example, it would like below.
Uploading/Ingesting Data to App Search
App Search has API endpoints through which one can ingest data. It also provides a upload UI in the app search dashboard through which one can upload the data. The only caveat here is the data should be in json
You can ingest any sort of data which is in json
format.
For example, indexing data would like below.
App Search Dashboard
Click on Visit the Dashboard
further to explore the data. One would be shown a engine screen page with the Search Engine you have created.
There are bunch of things in the left menu and some of them are self explanatory to an extent.
Final Touch!
Click on the Reference UI
and select the fields according to your preference on how the fields are to be searched and displayed in your web app to your users.
Click on Generate a Preview
to see the search UI powered react app. Just start typing about a word that is present in your dataset and you can see results in a way that you have configured previously in the Reference UI
.
You can also download this web app using the button Download ZIP Package
on the right top corner. All the URL related to your Search Backend is baked into this downloaded app. All one needs to do is find relevant CSS to your brand and craft a great UI experience.
Between, Reference UI
is an Open source project. You can learn more about it here.
There are many other features of App Search like Analytics
which are as interesting making your user's experience better.