By Hitesh Jethva, Alibaba Cloud Tech Share Author. Tech Share is Alibaba Cloud’s incentive program to encourage the sharing of technical knowledge and best practices within the cloud community.
Apache Solr is a free and open source search platform written in Java that can be used to build search applications. It was built on top of Lucene project that provides full-text search, spell suggestions, custom document ordering and ranking, Snippet generation and highlighting. Apache Solr allows us to create custom search engines that index databases, files, and websites. It is specially designed for scalability and fault tolerance. Apache Solr runs as a standalone full-text search server and uses the Lucene Java search library at its core for full-text indexing and search. You can also use Apache Solr with Hadoop to handles a large amount of data.
Some of the advantages of Apache Solr include:
In this tutorial, we will learn how to how to install and configure Apache Solr on an Alibaba Cloud Elastic Compute Service (ECS) Ubuntu 16.04 instance.
First, login to your Alibaba Cloud ECS Console. Create a new ECS instance, with Ubuntu 16.04 as the operating system with at least 2GB RAM. Connect to your ECS instance and log in as the root user.
Once you are logged into your Ubuntu 16.04 instance, run the following command to update your base system with the latest available packages.
apt-get update -y
By default, the latest version of the Java is not available in Ubuntu 16.04 default repository. So, you will need to add the Java repository to your system. You can add Java repository using the following command:
apt-get install python-software-properties -y
add-apt-repository ppa:webupd8team/java
Once the Java repository is installed, update the repository and install Java with the following command:
apt-get update -y
apt-get install oracle-java8-installer -y
Once the Java is installed, you can check the Java version using the following command:
java -version
You should see the following output:
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
First, you will need to download the latest version of the Solr from their official website. You can do this using the following command:
cd /opt/
wget http://redrockdigimark.com/apachemirror/lucene/solr/7.3.1/solr-7.3.1.tgz
Now, extract the Solr service installation file from Solr source by running the following command:
tar xzf solr-7.3.1.tgz solr-7.3.1/bin/install_solr_service.sh --strip-components=2
Next, install Solr as a service using the following command:
./install_solr_service.sh solr-7.3.1.tgz
Once Solr is installed, you should see the following output:
Service solr installed.
Customize Solr startup configuration in /etc/default/solr.in.sh
● solr.service - LSB: Controls Apache Solr as a Service
Loaded: loaded (/etc/init.d/solr; bad; vendor preset: enabled)
Active: active (exited) since Sun 2018-05-20 07:37:04 IST; 5s ago
Docs: man:systemd-sysv-generator(8)
Process: 2926 ExecStart=/etc/init.d/solr start (code=exited, status=0/SUCCESS)
May 20 07:36:32 Node1 solr[2926]: [WARN] Your open file limit is currently 1024.
May 20 07:36:32 Node1 solr[2926]: It should be set to 65000 to avoid operational disruption.
May 20 07:36:32 Node1 solr[2926]: If you no longer wish to see this warning, set SOLR_ULIMIT_CHECKS to false in your profile or solr.in.sh
May 20 07:36:32 Node1 solr[2926]: [WARN] Your Max Processes Limit is currently 3820.
May 20 07:36:32 Node1 solr[2926]: It should be set to 65000 to avoid operational disruption.
May 20 07:36:32 Node1 solr[2926]: If you no longer wish to see this warning, set SOLR_ULIMIT_CHECKS to false in your profile or solr.in.sh
May 20 07:37:04 Node1 solr[2926]: [458B blob data]
May 20 07:37:04 Node1 solr[2926]: Started Solr server on port 8983 (pid=3050). Happy searching!
May 20 07:37:04 Node1 solr[2926]: [14B blob data]
May 20 07:37:04 Node1 systemd[1]: Started LSB: Controls Apache Solr as a Service.
You can check the status of Solr service at any time by running the following command:
service solr status
You should see the following output:
solr.service - LSB: Controls Apache Solr as a Service
Loaded: loaded (/etc/init.d/solr; bad; vendor preset: enabled)
Active: activating (start) since Thu 2018-05-24 21:22:20 IST; 49s ago
Docs: man:systemd-sysv-generator(8)
Control: 569 (solr)
CGroup: /system.slice/solr.service
└─569 /bin/sh /etc/init.d/solr start
May 24 21:22:20 Node1 systemd[1]: Starting LSB: Controls Apache Solr as a Service...
May 24 21:22:21 Node1 su[580]: Successful su for solr by root
May 24 21:22:21 Node1 su[580]: + ??? root:solr
May 24 21:22:22 Node1 su[580]: pam_unix(su:session): session opened for user solr by (uid=0)
May 24 21:22:42 Node1 solr[569]: [WARN] Your open file limit is currently 1024.
May 24 21:22:42 Node1 solr[569]: It should be set to 65000 to avoid operational disruption.
May 24 21:22:42 Node1 solr[569]: If you no longer wish to see this warning, set SOLR_ULIMIT_CHECKS to false in your profile or solr.in.sh
May 24 21:22:42 Node1 solr[569]: [WARN] Your Max Processes Limit is currently 9628.
May 24 21:22:42 Node1 solr[569]: It should be set to 65000 to avoid operational disruption.
May 24 21:22:42 Node1 solr[569]: If you no longer wish to see this warning, set SOLR_ULIMIT_CHECKS to false in your profile or solr.in.sh
Now, create your first collection in Apache Solr by running the following command:
cd /opt
solr -c "/opt/solr/bin/solr create -c letsstarted -n data_driven_schema_configs"
You should see the following output:
Created new core 'letsstarted'
Apache Solr is now up and running on port 8983. Open your web browser and type the URL http://yourdomain.com:8983, and you should see the following page:
Now, click on the Core Selector dropdown list on the left sidebar and select your created collection. You should see the statics of created collection in the following page:
Next, on the left sidebar click on the Documents, you should see the following page:
Here, add some documents like "Linux Cookbook" as shown in the following output:
{
"id": 1,
"book_title": "Linux Cookbook",
"published": 2018,
"description": "All about Linux"
}
Now, click on the Submit Document button to add your documents to the Index. You should see the following output:
Status: success
Response:
{
"responseHeader": {
"status": 0,
"QTime": 1611
}
}
Now, on the left sidebar click on the Query button, you should see the following page:
Now, click on the Execute Query button, you should see your created documents in the following page:
Congratulations! You have successfully installed and configured Apache Solr on Ubuntu 16.04 server. You can now easily deploy it in the production environment.
Alibaba Cloud CDN is built to automatically handle spikes in traffic, reduce load speed on your origin site and support storage capacity of up to 1.5 petabytes.
With its low latency and high data transfer rate, the Alibaba Cloud CDN directs user requests to the most suitable node based on network congestion to retrieve content in the most efficient manner. The CDN has a high performance cache system built with powerful clusters of servers to maximize throughput. The CDN relies on an intelligent object heat algorithm and hierarchical ‘hot’ cache resources for precise resource acceleration.
Hybrid Cloud Storage Array is an enterprise-level storage array that integrates with the Alibaba Cloud storage gateway. You can use and manage cloud storage resources (blocks, files, and objects) just as you would with local storage. Cloud Cache, Cloud Sync, Cloud Tiering, and Cloud Backup all make local storage migrate to the cloud seamlessly. HCSA services provide a cost-effective, efficient and easy-to-manage hybrid cloud storage solution.
The devices are deployed using standard racks and have no requirements for the data center deployment. The devices support dual-controller and active-active clusters. The cloud distributed storage provides 99.9% reliability and 99.9% availability.
Applications of the Internet of Things in the Medical Industry (2) – Telemedicine
How Alibaba Cloud Helped Ping++ Complete Millions of Transactions Every Day
2,599 posts | 763 followers
FollowAlibaba Clouder - May 22, 2019
Alibaba Clouder - February 13, 2018
Alibaba Clouder - October 18, 2018
Alibaba Clouder - September 6, 2018
Alibaba Clouder - May 7, 2019
Alibaba Clouder - September 5, 2018
2,599 posts | 763 followers
FollowElastic and secure virtual cloud servers to cater all your cloud hosting needs.
Learn MoreAuto Scaling automatically adjusts computing resources based on your business cycle
Learn MoreLearn More
More Posts by Alibaba Clouder