Solr搜索引擎服务器学习笔记
Solr简介
采用Java5开发,基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎
Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http GSolret操作提出查找请求,并得到XML格式的返回结果
Solr与lucene关系
Lucene是一套信息检索工具包,但并不包含搜索引擎系统,它包含了索引结构、读写索引工具、相关性工具、排序等功能,因此在使用Lucene时你仍需要关注搜索引擎系统,例如数据获取、解析、分词等方面的东西
首先Solr是基于Lucene做的,Solr的目标是打造一款企业级的搜索引擎系统,因此它更接近于我们认识到的搜索引擎系统,它是一个搜索引擎服务,通过各种API可以让你的应用使用搜索服务,而不需要将搜索逻辑耦合在应用中。而且Solr可以根据配置文件定义数据解析的方式,更像是一个搜索框架,它也支持主从、热换库等操作。还添加了高亮、facet等搜索引擎常见功能的支持
Solr的搭建与运行
cmd打开命令行窗口,进入E:/solr/example目录
执行命令:java -jar start.jar
通过第三步以后,系统会启动solr自带的jetty服务器,通过http://localhost:8983/solr/便可访问solr
此时,solr已成功启动

界面如上所示。
Solr技术路线图


Solr图形化管理界面
菜单

Core
Admin

搜索功能
当点击搜索区域

会出现如下的列表

增加document
点击上图的Documents,可以看到

编写一个json格式的对象:

显示:

成功生成了一个document对象
搜索

打开界面:

执行

Xml与solr
Xml文件的导入
当执行如下的操作的时候

可以把hd.xml文件中的内容创建Document对象,引入到solr中。
Xml文件的查询
hd.xml文件的部分内容

查询到的内容:

浏览器的查询

Solrj
Schema
是solr中很重要的一个配置文件
路径

元素
Field

说明
为字段
Name为字段的名称
Type为字段的类型
Indexed是否为该字段建立索引
Stored是否存储该字段
Required是否是必须的
dynamicField
<dynamicField
name="*_s" type="string" indexed="true"
stored="true"/>
说明:
为动态属性
Name=”*_i”*可以代表任何字母
doc.addField("namessss_s",
"赵栋");这个是可以匹配的
uniqueKey
<uniqueKey>id</uniqueKey>
说明
表示唯一的一个document的标示是id
Solr与数据库
Select
在collection1/config/solrconfig.xml文件中,有一个配置

所有的查询是由SearchHandler处理的。
Update

Dataimport
当打开solr的管理界面时

点击上图的Dataimport,这个时候,浏览器的地址是

会请求一个dataimport的域,但是提示结果为:

说明没有dataimport-handler定义。
解决方案:
1、修改solrconfig.xml文件,添加如下的代码:

2、在
目录下,copy如下的jar包和数据库驱动的jar包,加入到solr工程中

工程的结构为:

3、创建data-config.xml文件,放入到config目录下
<?xml version="1.0" encoding="UTF-8" ?> <dataConfig> <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/itheima09_solr" user="root" password="root"/> <document> <entity name="id" query="select id,name,manu from solr"></entity> </document> </dataConfig>
4、重新启动solr服务器
5、打开浏览器界面,点击dataimport
执行完成以后,数据库的表的数据就被导入到了索引库中。

Solr搜索引擎服务器学习笔记的更多相关文章
- Solr 6.7学习笔记(02)-- 配置文件 managed-schema (schema.xml) -- 样例(6)
managed-schema 样例: <?xml version="1.0" encoding="UTF-8" ?> <!-- License ...
- Solr 6.7学习笔记(02)-- 配置文件 managed-schema (schema.xml)(3)
5. <fieldType> fieldType主要定义了一些字段类型,其name属性值用于前面<field>中的type属性的值.e.g. <fieldTyp ...
- Solr 6.7学习笔记(04)-- Suggest
当我们使用baidu或者Google时,你输入很少的字符,就会自动跳出来一些建议选项,在Solr里,我们称之为Suggest,在solrconfig.xml里做一些简单的配置,即可实现这一功能.配置如 ...
- Solr 6.7学习笔记(02)-- 配置文件 managed-schema (schema.xml) - filter(5)
自定义fieldType时,通常还会用到filter.filter必须跟在tokenizer或其它filter之后.如: <fieldType> <analyzer> < ...
- 服务器学习笔记之servlet
初衷 想学习下服务器这边的知识,制定了一条学习路线:java8--->servlet--->springMvc--->springBoot--->springCloud.在此当 ...
- Kestrel Web 服务器学习笔记
前言: ASP.NET Core 已经不是啥新鲜的东西,很多新启的项目都会首选 Core 做开发: 而 Kestrel 可以说是微软推出的唯一真正实现跨平台的 Web 服务器了: Kestrel 利用 ...
- Solr 6.7学习笔记(02)-- 配置文件 managed-schema (schema.xml)(1)
刚学Solr(版本6.7.0),新建一个core时,提示要求schema.xml文件,我找了半天也没在源码包中找到名为schema.xml的文件.这个版本其实用的是managed-schema文件,没 ...
- 配置好solr搜索引擎服务器后java后台如何将商品信息导入索引库
首先,在配置文件目录中添加solr 服务器的bean 配置文件 solr服务器的url可以写在配置文件中: url地址其实就是我们网页可以访问的solr地址: 然后我们写 service packag ...
- 游戏服务器学习笔记 5———— twisted Perspective Broker 透明代理
实际上这章压根不需要我来说,twisted官网的Doc里面有专门介绍的章节.写的非常详细. http://twistedmatrix.com/documents/current/core/howto/ ...
随机推荐
- C语言 多文件编程
C语言 多文件编程 分文件编程 把函数声明放在头文件xxx.h中,在主函数中包含相应头文件 在头文件对应的xxx.c中实现xxx.h声明的函数 防止头文件重复包含 1.当一个项目比较大时,往往都是分文 ...
- 解决ubuntu和win10双系统时间不一致
1.在ubuntu下安装ntpdate sudo apt install ntpdate 2.设置同步windows时间 sudo ntpdate time.windows.com 3.把时间更新到硬 ...
- IDEA 自定义注释模板 支持设置多个param参数
在使用IDEA过程中,很多人可能感觉自带注释太简约了,想增加一些属性,比如作者.创建时间.版本号等等,这个时候我们可以使用自定义的注释模板来实现我们需求,话不多说直接进入如何自定义模板设置: 打开设置 ...
- PHP 基础 自动类型转换之比较运算符
<?php var_dump(' 123fg456'>=122); var_dump('some string' == 0); var_dump(123.0 == '123d456'); ...
- SpringMVC注解@RequestMapping全面解析
@RequestMapping 可以出现在类级别上,也可以出现在方法上.如果出现在类级别上,那请求的 url 为 类级别上的@RequestMapping + 方法级别上的 @RequestMappi ...
- AspectRatio图片的宽高比、Card 卡片组件
一.AspectRatio 组件 AspectRatio 的作用是根据设置调整子元素 child 的宽高比. AspectRatio 首先会在布局限制条件允许的范围内尽可能的扩展,widget 的高度 ...
- touchstart和click 自动区分
var clickEvent = (function() { if ('ontouchstart' in document.documentElement === true) return 'touc ...
- Centos7下载和安装教程
https://blog.csdn.net/qq_42570879/article/details/82853708 阿里下载64bit镜像:http://mirrors.aliyun.com/cen ...
- 跨域-CORS
跨域:是浏览器为了安全而做出的限制策略 浏览器请求必须遵循同源策略:同域名,同端口,同协议 cors跨域- 服务器端设置,前端直接调用 说明:后台允许前端某个站点进行访问 后台设置 Access-Co ...
- java代码向kafka集群发送消息报org.apache.kafka.common.errors.TimeoutException: Batch Expired
由于项目是springboot项目,在application.properties加入 logging.level.root=debug debug日志报错信息为kafka集群ip别名访问失败 在wi ...