Solr
Solr Installation in Linux
Application URL : http://192.168.1.208:8983/solr
User Name : administrator
Installing process.
cd ~/
wget https://downloads.apache.org/lucene/solr/8.9.0/solr-8.9.0.tgz
wget https://downloads.apache.org/lucene/solr/8.9.0/solr-8.9.0.tgz.asc
wget https://downloads.apache.org/lucene/solr/8.9.0/solr-8.9.0.tgz.sha512
install
tar zxf solr-8.9.0.tgz
cd ~/solr-8.9.0/bin
sudo ./install_solr_service.sh ~/solr-8.9.0.tgz
sudo systemctl stop solr
sudo systemctl start solr
sudo systemctl status solr
sudo systemctl enable solr
sudo systemctl restart solr
sudo systemctl status solr
Creating the first core
su - solr -c "/opt/solr-8.9.0/bin/solr create -c testcol1 -n data_driven_schema_configs"
stop the solr
systemctl stop solr
sudo su
sudo chmod -R 777 /var/solr/
sudo chmod -R 777 /opt/solr/
use the Core ftp to upload mysql jdbc drive to /opt/solr/dist
DATA OF CORES
All the data resides in /var/solr/data/YOURCORE/conf
go to the respective core and follow the steps
systemctl stop solr
1. Create file db-data-config.xml
<dataConfig>
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://192.168.204.100:3306/basket_prod?serverTimezone=UTC&tinyInt1isBit=false"
user="bruneiprod"
password="5exA8IYAHeva"/>
<document>
<entity name="Products" pk="ItemID" query="SELECT ItemID, CategoryID, ItemName, Description, Features, Specifications, CategoryName, NetAmount, StockInHand, ImageUpdaloaded, VatIncluded, AmountIncludingVat, Discount, CompanyID, CompanyDisplayName, Flag FROM basket_prod.solr_itemload">
<field column="ItemID" name="ItemID"/>
<field column="CategoryID" name="CategoryID"/>
<field column="ItemName" name="ItemName"/>
<field column="Description" name="Description"/>
<field column="Features" name="Features"/>
<field column="Specifications" name="Specifications"/>
<field column="CategoryName" name="CategoryName"/>
<field column="NetAmount" name="NetAmount"/>
<field column="StockInHand" name="StockInHand"/>
<field column="ImageUpdaloaded" name="ImageUpdaloaded"/>
<field column="VatIncluded" name="VatIncluded"/>
<field column="AmountIncludingVat" name="AmountIncludingVat"/>
<field column="Discount" name="Discount"/>
<field column="CompanyID" name="CompanyID"/>
<field column="CompanyDisplayName" name="CompanyDisplayName"/>
<field column="Flag" name="Flag"/>
</entity>
</document>
</dataConfig>
Edit Managed Schema and add the fields that you want to load at the end of the file before </schema>
<field name="ItemID" type="string" indexed="true" stored="true" multiValued="false"/>
<field name="CategoryID" type="string" indexed="true" stored="true" multiValued="false"/>
<field name="ItemName" type="text_general" multiValued="false"/>
<field name="Description" type="text_general" multiValued="false"/>
<field name="Features" type="text_general" multiValued="false"/>
<field name="Specifications" type="text_general" multiValued="false"/>
<field name="CategoryName" type="string" stored="true" multiValued="false"/>
<field name="NetAmount" type="string" stored="true" multiValued="false"/>
<field name="StockInHand" type="string" stored="true" multiValued="false"/>
<field name="ImageUpdaloaded" type="string" stored="true" multiValued="false"/>
<field name="VatIncluded" type="string" stored="true" multiValued="false"/>
<field name="AmountIncludingVat" type="string" stored="true" multiValued="false"/>
<field name="Discount" type="string" stored="true" multiValued="false"/>
<field name="CompanyID" type="string" stored="true" multiValued="false"/>
<field name="CompanyDisplayName" type="string" stored="true" multiValued="false"/>
<field name="Flag" type="string" stored="true" multiValued="false"/>
Edit solrconfig.xml add at the bottom
<requestHandler name="/dataimport" class="solr.DataImportHandler">
<lst name="defaults">
<str name="config">db-data-config.xml</str>
</lst>
</requestHandler>
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-dataimporthandler-.*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="mysql-connector-java-5.1.23-bin.jar" />
systemctl start solr
Solr Installation and make it as Window service
Check Solr Status
E:\Solr\solr-8.8.2>bin\solr.cmd status
Start Solr
E:\Solr\solr-8.8.2>bin\solr.cmd start
Import Data From CSV
E:\Solr\solr-8.8.2>java -jar -Dc=barcode -Dauto example\exampledocs\post.jar example\exampledocs\product1.csv
************************IMP Links*********************
https://solr.apache.org/guide/6_6/post-tool.htmlhttps://www.progress.com/tutorials/jdbc/import-sql-server-data-into-apache-solr-using-data-import-handler-via-jdbc#:~:text=Importing%20the%20Data,-Start%20Apache%20Solr&text=Go%20to%20browser%20and%20open,a%20view%20as%20shown%20below.
https://www.cdata.com/kb/tech/mysql-jdbc-apache-solr.rst
Install Solr as service in Windows
I took the article from following link all credit goes to author of this article, I have personally tried to run this on window server 2019 and we achieved what we want in no time.
https://norconex.com/how-to-run-solr5-as-a-service-on-windows/
File System Setup
Taking Solr 8 as an example, first, extract Solr and NSSM to the following path on your file system (adapt paths as necessary).
C:\Program Files\solr-5.0.0
C:\Program Files\nssm
Setting up Solr as a service
On the command line, type the following:
"c:\Program Files\nssm\win64\nssm" install solr
Fill out the path to the solr.cmd script, and the startup directory should be filled in automatically. Don’t forget to input the -f (foreground) parameter so that NSSM can kill it when it needs to be stopped or restarted.
The following step is optional, but I prefer having a clean and descriptive name in my Windows Service Manager. Under the details tab, fill out the Display name and Description.
Click on Install service.
Check that the service is running.
Go to your favorite web browser and make sure Solr is up and running.
Conclusion
I spent a few hours finding this simple solution, and I hope this tutorial will help you set up Solr as a Microsoft Windows service in no time. I invite you to view the solr.cmd file content to find the parameters that will help you customize your Solr setup. For instance, while looking inside this file, I realized there I needed to add the -f parameter to run Solr in the foreground. That was key to get it running the way I needed it.