一、认识Solr
简介
Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http G SolrJ操作提出查找请求(也可以提交json格式),并得到XML格式的返回结果.
特点
Solr是一个高性能,采用Java开发,基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。
可以用一句话来说Solr:高性能,企业级,基于java,Apache顶级开源,基于Lucene(高度可扩展,灵活的,先进的)搜索引擎,全文搜索引擎。
Lucene
既然我们学习了Solr,那就顺便了解一下Lucene吧。
Lucene是一个全文搜索框架,而不是应用产品。因此它并不像http://www.baidu.com/ 或者google Desktop那么拿来就能用,它只是提供了一种工具让你能实现这些产品。
我们所学的Solr它是基于Lucene
了解搜索引擎
百度(baiBaidu)、 谷歌(Google)就是典型的全文搜du索引擎。它们都是通过从互zhi联网上提取的各个网站的信息(以网页dao文字为主)而建立的数据库中,检索与用户查询条件匹配的相关记录,然后按一定的排列顺序将结果返回给用户。
下载并启动Solr
我下载的是Solr7.7.2 ZIP版本
地址: https://archive.apache.org/dist/lucene/solr/7.7.2/
下载并解压,在bin目录运行cmd程序
开启 solr.cmd start
在游览器访问 http://localhost:8983/
如图所示,则启动成功,然后我们进入正题。
二、配置Solr
配置jar文件
暂时只需要一个数据源的jar,另外两个是配置分词器所需用的jar(可在 dist下拿到)
配置数据
在sorl-data-config.xml中配置数据源
<dataConfig>
<dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/shop?charactorEncoding=utf-8" user="root" password="123456" />
<document>
<entity name="demo" query="select * from demo" pk="id">
<field column="id" name="id" />
<field column="name" name="name" />
<field column="pwd" name="pwd" />
<field column="sex" name="sex" />
</entity>
</document>
</dataConfig>
在managed-schema.xml中添加相关的field
<field name="pwd" type="string" indexed="true" stored="true"/>
<field name="sex" type="string" indexed="true" stored="true"/>
运行
先添加我们的json数据
查询
基本查询
q 查询的关键字,此参数最为重要,例如,q=id:1,默认为q=:,
fl 指定返回哪些字段,用逗号或空格分隔,注意:字段区分大小写,例如,fl= id,title,sort
start 返回结果的第几条记录开始,一般分页用,默认0开始
rows 指定返回结果最多有多少条记录,默认值为 10,配合start实现分页
sort 排序方式,例如id desc 表示按照 “id” 降序
详细介绍参考:https://www.cnblogs.com/zhangweizhong/p/5056884.html
更新和添加
删除
<delete>
<query>id:5</query>
</delete>
分享完了,觉得有帮助的点赞