I was also facing same issue, I have installed Elasticsearch in my Linux Mint & It's working fine. Here is the steps.
Run the below command to Install Elasticsearch In locally.
Download and install the public signing key :
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
Installing from the APT repositoryedit
You may need to install the apt-transport-https package on Debian before proceeding :
sudo apt-get install apt-transport-https
Save the repository definition to /etc/apt/sources.list.d/elastic-7.x.list :
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-7.x.list
You can install the Elasticsearch Debian package with :
sudo apt-get update && sudo apt-get install elasticsearch
Elasticsearch is not started automatically after installation. How to start and stop Elasticsearch depends on whether your system uses SysV
systemd (used by newer distributions).
ps -p 1
Running Elasticsearch with SysV
init : Use the
update-rc.d command to configure Elasticsearch to start automatically when the system boots up :
sudo update-rc.d elasticsearch defaults 95 10
Elasticsearch can be started and stopped using the
service command :
sudo -i service elasticsearch start
sudo -i service elasticsearch stop
Configure Apache and Elasticsearch : Set up a proxy (Set up a proxy for Apache 2.4)
Enable mod_proxy as follows :
a2enmod proxy_http or
sudo a2enmod proxy_http
Use a text editor to open /etc/apache2/sites-available/000-default.conf
Add the following directive at the top of the file :
Add the following at the bottom of the file :
ProxyPass "/" "http://localhost:9200/"
ProxyPassReverse "/" "http://localhost:9200/"
Restart Apache :
service apache2 restart or
sudo service apache2 restart
Verify the proxy works by entering the following command :
For example, if your proxy uses port 8080:
curl -i http://localhost:8080/_cluster/health
If curl request success then messages display like below :
HTTP/1.1 200 OK
Date: Sun, 23 Aug 2020 06:05:56 GMT
Server: Apache/2.4.18 (Ubuntu)
content-type: application/json; charset=UTF-8
Admin Panel -> Stores -> Settings -> Configuration -> Catalog -> Catalog Search. Change the settings like below.
Search Engine : Search Engine7
Elasticsearch Server Hostname : localhost
Elasticsearch Server Port : 8080
Elasticsearch Index Prefix : magento2
Enable Elasticsearch HTTP Auth : No
Elasticsearch Server Timeout : 15
Now save the configuration & run below cache clean command.
php bin/magento cache:clean
Now click on
Test Connection button.
After successful you will receive
Successful! Test again? in
Test Connection button.
Ref : Dev Docs & Elasticsearch
For More Click here