Solr基本使用
1.下载与安装
官网地址:https://lucene.apache.org/solr/
将下载好的压缩包直接解压即可。
2.服务启动
进入solr的bin目录,执行cmd命令,启动solr服务
solr start
其他常用命令:
solr start -p 端口号 #启动
solr restart -p 端口号 #重启
solr stop -p 端口号 #关闭
solr create -c 名称 #创建一个核心
浏览器访问:
3.将mysql中的数据导入Solr
3.1在CMD创建核心 solr create -c product
创建出的每一个Core,都对应Solr中的一个文件夹
3.2.在E:\solr-7.7.3\server\solr\product 下创建:dataConfig.xml。添加代码
<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig>
<dataSource
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/txws158"
user="root" password="root"/>
<document>
<entity name="product"
query="select
p.id,
p.name,
p.price,
m.name merchant,
c2.shortname province,
c1.shortname city
from
merchant m
left join product p on m.id=p.merchant_id
left join city c1 on m.city_id=c1.id
left join city c2 on c1.pid=c2.id">
<field column="id" name="id"/>
<field column="name" name="name"/>
<field column="price" name="price"/>
<field column="merchant" name="merchant"/>
<field column="province" name="province"/>
<field column="city" name="city"/>
</entity>
</document>
</dataConfig>
3.3.打开核心下的conf/managed-schema
找到field标签,在同级别下添加:
<field name="name" type="text_general" indexed="true" stored="true" />
<field name="price" type="pdouble" indexed="true" stored="true" />
<field name="city" type="text_general" indexed="true" stored="true" />
<field name="merchant" type="text_general" indexed="true" stored="true" />
<field name="province" type="text_general" indexed="true" stored="true" />
注意:字段id在managed-schema文件中已存在,不用再配置,字段重复会报错。
3.4.打开核心下的conf/solrconfig.xml
找到requestHandler标签,在同级别的位置添加以下内容:
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>
3.5.添加jar包
将solr-8.1.1\dist下的solr-dataimporthandler-8.1.1.jar和mysql驱动jar包放入
E:\solr-7.7.3\server\solr-webapp\webapp\WEB-INF\lib文件夹下。
3.6.启动solr,进入web页面,导入数据。
3.7.导入后,查看数据
4.Solr Admin管理页面的CURD操作
4.1.添加/修改
进入Solr Admin页面后,选择自己的core
id:为主键,若不存在,则会进行添加;若存在,则会修改原数据
添加的json数据中的每个字段,必须在solr中有定义过才行。
查询
4.2.删除
删除成功,查询
删除所有:
<delete>
<query>*:*</query>
</delete>
<commit/>
query:查询的关键字,此参数最为重要,例如:q=id:1,默认为q=:;
filter query:过滤查询,提供一个可选的筛选查询。返回在q查询符合结果中同时符合的fq条件的查询结果,例如:q=id:1&fq=sort:[1 TO 5],找关键字id为1的并且sort是1到5之间的。
sort:排序方式,例如price desc表示按照“price”降序
start:返回结果的第几条记录开始,一般分页用,默认0开始
rows: 指定返回结果最多有多少条记录,默认值为10,配合start实现分页
field:指定返回那些字段,用逗号或空格分隔,注意:字段区分大小写,例如,fl=id,title,sort
hl(highlight)是否高亮,hl=true,表示采用高亮
hl.fl用空格或逗号隔开的字段列表。要启用某个字段的highlight功能,就得保证该字段在schema中是stored.如果该参数未被给出,那么就会高亮默认字段df参数
hl.simple.pre 在查询到的关键词,前面拼接的内容
hl.simple.post在查询到的关键词,后面拼接的内容
查询出结果后,复制引号中的,到桌面新建txt文档,把复制的内容保存进去,修改为html,
效果