1.下載安裝
下載官網(wǎng):https://lucene.apache.org/solr/
下載對(duì)應(yīng)版本雀扶,Linux版本解壓:tar -zxf solr-7.1.1.tgz
2.啟動(dòng)
進(jìn)入solr-7.7.1文件夾斯嚎,運(yùn)行:bin/solr start -force
solr已經(jīng)啟動(dòng)株憾,查詢是否啟動(dòng):
1. bin/solr status;
2. 瀏覽器(能成功打開):http://localhost:8983/solr/
3.創(chuàng)建collection:
(solr停止的情況下)bin/solr create -force -c testsolr
4.中文分詞器安裝
1. GitHub下載:https://github.com/magese/ik-analyzer-solr7
2. 下載后jar放入:solr-7.7.1/server/solr-webapp/webapp/WEB-INF/lib/
3. 打開solr-7.7.1/server/solr/testsolr/conf/managed-schema疙挺,底部加入:
<!--使用 ik 分詞器 解析 的域類型, 分詞,過濾都在類里面了-->
<fieldType name="text_ik_type" class="solr.TextField">
<analyzer type="index" useSmart="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
<analyzer type="query" useSmart="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>
<!--支持ik分詞器的域-->
<field name="title_ik" type="text_ik_type" indexed="true" stored="true" />
<field name="content_ik" type="text_ik_type" indexed="true" stored="true" multiValued="true"/>
<field name="text_ik" type="text_ik_type" multiValued="true" indexed="true" stored="true"/>
4. 重啟 bin/solr restart -force后就可以在頁(yè)面嘗試了
5.配置自定義分詞:
1. solr-7.7.1/server/solr-webapp/webapp/WEB-INF/classes文件夾下添加ext.dic,stopword.dic兩個(gè)文件 注意編輯此文件時(shí)字符編碼最好是UTF-8無BOM模式邑商。無classes文件夾,自己創(chuàng)建翔冀。
2. WEB-INF/文件夾下創(chuàng)建IKAnalyzer.cfg.xml,配置:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>IK Analyzer 擴(kuò)展配置</comment>
<!--用戶可以在這里配置自己的擴(kuò)展字典 -->
<entry key="ext_dict">ext.dic</entry>
<!--用戶可以在這里配置自己的擴(kuò)展停止詞字典-->
<entry key="ext_stopwords">stopword.dic</entry>
</properties>
3. 重啟solr,頁(yè)面嘗試是否成功披泪。
6.連接MySQL數(shù)據(jù)庫(kù)
1. 下載MySQL的jar包:https://mvnrepository.com/artifact/mysql/mysql-connector-java纤子,下載后導(dǎo)入solr-7.7.1/server/solr/testsolr/lib/
2. 復(fù)制solr-7.7.1/dist/solr-dataimporthandler-7.7.1.jar和solr-7.7.1/dist/solr-dataimporthandler-extras-7.7.1.jar兩個(gè)jar包到solr-7.7.1/server/solr/testsolr/lib/
3. 在solr-7.7.1/server/solr/solrdata1/conf/solrconfig.xml底部加入:
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">db-data-config.xml</str>
</lst>
</requestHandler>
4.創(chuàng)建conf/db-data-config.xml加入:
<dataConfig>
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://127.0.0.1:3306/test_solr"
user="testsolr"
password="testsolr"/>
<document>
<entity name="solr_info" query="select id,name,address from solr_info ">
<field column="id" name="solr_id" />
<field column="name" name="solr_name" />
<field column="address" name="solr_address" />
</entity>
</document>
</dataConfig>
5.在conf/managed-schema下添加如下代碼:
<!--solr_info 表-->
<field name="solr_name" type="text_ik_type" indexed="true" stored="true"/>
<field name="solr_address" type="text_ik_type" indexed="true" stored="true"/>
<field name="solr_name" type="pint" indexed="true" stored="true"/>
<field name="product_keywords" type="text_ik_type" indexed="true" stored="false" multiValued="true"/>
<copyField source="hotel_address" dest="product_keywords" />
<copyField source="hotel_name" dest="product_keywords" />
6.重啟solr,在主頁(yè)選擇testsolr數(shù)據(jù)庫(kù)->dataimport->solr_info-> Execute。執(zhí)行成功后在Query查詢數(shù)據(jù)款票。
7.整合springboot
1. 導(dǎo)入maven:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-solr</artifactId>
</dependency>
2. 配置數(shù)據(jù)源:spring.data.solr.host:http://127.0.0.1:8983/solr
3. 配置domain和repository:
image.png
image.png
然后就可以進(jìn)行CURD了控硼。