一、WEB 控制台界面介绍

http://127.0.0.1:8080/solr/index.html

左边方框中的菜单项选择重要的说明一下: 
Dashboard: 首页,显示各种系统信息。 
Core Admin: 核心管理。后面的内容有解释。 
Java Properties:Java参数。因为solr是用java编写的,所以存在一些java参数。 
下拉列表Core Selector : 选择当前的核心。后面的内容有讲解。

点击 Core Admin 后的界面:

红色方框中的是当前solr服务器正在管理的核心。这些核心与 E:\blog\test1\solr-6.3.0\example\example-DIH\solr 中的文件夹一一对应。绿色方框中的是用户选中的核心的详细信息。比如上面图片中,用户选择了db核心,绿色方框中就显示了db核心的startTime、instanceDir和dataDir参数。

下拉列表Core Selector中选择db后的界面:

其中 Overview是db核心的概览,Dataimport是导入数据,Query是查询。solr默认的db例子里面使用的是hsqldb。为了使用这个例子,我们要先引入数据。点击 Dataimport,页面如下:

Configuration显示db核心的数据配置。当你修改了核心配置了以后,点击Reload重新加载数据配置。每次启动solr服务器或者修改了数据配置以后,都要在左侧执行 full-import命令刷新。现在我们点击一下 Execute 按钮,就可以刷新。solr会启动一个线程进行刷新,在刷新完成前,你依然可以访问数据,不过只能访问到旧的数据。点击Refresh Status可以刷新线程的状态。点击 Raw Status-Output 就可以查看到最新的刷新线程运行的状态。当出现 Indexing completed. Added/Updated: 16 documents. Deleted 0 documents. (Duration: 02s) 的提示,说明刷新已经完成。

除了点击按钮以外,你也可以直接用Get方法访问 
http://localhost:8983/solr/db/dataimport?command=full-import&wt=json

来刷新数据和配置。 
用Get方法访问 http://localhost:8983/solr/db/dataimport?command=status&wt=json 
来获得刷新线程的状态。

下拉列表Core Selector下方,点击Query,就来到了查询页面。等上面提到的刷新完成后,就可以查看到数据了。效果如图所示:

图中右上角的链接是一个Web api 的地址,用户可以用GET方法访问这个地址来获取数据。数据格式如右下部分json格式所示。中间栏,q文本域里面是查询参数。默认的 *:* 表示查询所有记录。 start, rows 分别表示开始的行数和显示出来的行数。start从0开始,默认start等于0,rows等于10。

name:*11* 表示查找name属性包含字符串11的记录。

name:*11* OR name:*DATA* 表示查找name属性包含11或者name属性包含DATA的记录。注意 OR 的左右都有英语空格。

NOT name:*11* 表示查找name 属性不包含11的记录。注意NOT和name之间有英语空格。

name:*le* AND price:[19 TO 10000] 表示查找name属性包含le字符串并且价格在19到10000之间的记录。注意TO和AND的左右两边有英语空格。

price:{350 TO 399] 查找价格在350到399之间的记录。{ 或 } 表示不包含边界值, [ 或 ] 表示包含边界值。

price:{350 TO *] 查找大于350的记录,不包含350。

price:{* TO 350] 查找小于等于350的记录。

(name:USB AND name:ta)OR(name:USB OR name:ta) 英文圆括号用来提高逻辑运算符的优先级。

二、连接MySQL

下面我们用连接一张表来演示如何连接MySQL。 
使用solr stop -all确保关闭solr。我们在已有例子的基础上进行修改。复制 E:\blog\test1\solr-6.3.0\example\example-DIH\solr 下的db文件夹,粘贴重命名为db2。

db2 下面的 lib 文件夹下,删除hsqldb-1.8.0.10.jar 文件,把文件 mysql-connector-java-5.1.40.jar 放到lib文件夹下面。在db2\conf文件夹下面,用编辑器打开solrconfig.xml文件,找到下面几行:

<lib dir="${solr.install.dir:../../../..}/contrib/langid/lib/" regex=".*\.jar" /><lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-langid-\d.*\.jar" /> <lib dir="${solr.install.dir:../../../..}/contrib/velocity/lib" regex=".*\.jar" /> <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-velocity-\d.*\.jar" />

在这几行代码下面紧跟着另起一行,加一个lib标签,内容如下:

<lib dir="E:/blog/test1/solr-6.3.0/example/example-DIH/solr/db2/lib/" regex="mysql-connector-java-5.1.40.jar" />dir属性是指mysql驱动jar文件所在文件夹的硬盘路径。注意路径分隔符建议使用 / 。这个例子,所有的字符编码都使用了UTF-8。数据库也使用了UTF-8。 

mysql中的数据结构如下:

CREATE DATABASE `db1` /*!40100 DEFAULT CHARACTER SET utf8 */; use db1; CREATE TABLE `t_book` ( `c_id` varchar(100) NOT NULL, `c_name` varchar(45) DEFAULT NULL, `c_isbn` varchar(45) DEFAULT NULL, `c_price` decimal(5,2) DEFAULT NULL, PRIMARY KEY (`c_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

编辑 db-data-config.xml 文件,内容如下:

<dataConfig><dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://127.0.0.1:3306/db1" user="test_user" encoding="UTF-8" password="123456"/> <document> <entity name="jynbook" processor="SqlEntityProcessor" pk="id" query="select c_id,c_name,c_isbn from t_book"> <field name="id" column="c_id" /> <field name="name" column="c_name" /> <field name="isbn" column="c_isbn" /> </entity> </document> </dataConfig>

编辑 managed-schema 文件,换成下面的内容:

<?xml version="1.0" encoding="UTF-8"?>
<!-- Solr managed schema - automatically generated - DO NOT EDIT -->
<schema name="example-DIH-db2" version="1.6"> <uniqueKey>id</uniqueKey> <fieldType name="alphaOnlySort" class="solr.TextField" omitNorms="true" sortMissingLast="true"> <analyzer> <tokenizer class="solr.KeywordTokenizerFactory"/> <filter class="solr.LowerCaseFilterFactory"/> <filter class="solr.TrimFilterFactory"/> <filter class="solr.PatternReplaceFilterFactory" pattern="([^a-z])" replace="all" replacement=""/> </analyzer> </fieldType> <fieldType name="ancestor_path" class="solr.TextField"> <analyzer type="index"> <tokenizer class="solr.KeywordTokenizerFactory"/> </analyzer> <analyzer type="query"> <tokenizer class="solr.PathHierarchyTokenizerFactory" delimiter="/"/> </analyzer> </fieldType> <fieldType name="binary" class="solr.BinaryField"/> <fieldType name="boolean" class="solr.BoolField" sortMissingLast="true"/> <fieldType name="currency" class="solr.CurrencyField" currencyConfig="currency.xml" defaultCurrency="USD" precisionStep="8"/> <fieldType name="date" class="solr.TrieDateField" positionIncrementGap="0" precisionStep="0"/> <fieldType name="descendent_path" class="solr.TextField"> <analyzer type="index"> <tokenizer class="solr.PathHierarchyTokenizerFactory" delimiter="/"/> </analyzer> <analyzer type="query"> <tokenizer class="solr.KeywordTokenizerFactory"/> </analyzer> </fieldType> <fieldType name="double" class="solr.TrieDoubleField" positionIncrementGap="0" precisionStep="0"/> <fieldType name="float" class="solr.TrieFloatField" positionIncrementGap="0" precisionStep="0"/> <fieldType name="ignored" class="solr.StrField" indexed="false" stored="false" multiValued="true"/> <fieldType name="int" class="solr.TrieIntField" positionIncrementGap="0" precisionStep="0"/> <fieldType name="location" class="solr.LatLonType" subFieldSuffix="_coordinate"/> <fieldType name="location_rpt" class="solr.SpatialRecursivePrefixTreeFieldType" geo="true" maxDistErr="0.001" distErrPct="0.025" distanceUnits="kilometers"/> <fieldType name="long" class="solr.TrieLongField" positionIncrementGap="0" precisionStep="0"/> <fieldType name="lowercase" class="solr.TextField" positionIncrementGap="100"> <analyzer> <tokenizer class="solr.KeywordTokenizerFactory"/> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> </fieldType> <fieldType 

转载于:https://www.cnblogs.com/fengzhanfei/p/6370345.html

solr6.3与MySQL结合使用的简明教程一相关推荐

  1. python3简明教程下载_Python3简明教程一

    这部分主要解释了Python3的基础知识.包括一些python3运营商.表达式.控制流和循环,列表,等.除了印刷提供的字符串,打印()打印()输出一个换行符,所以每次打印(),换行符将被改变.结束这个 ...

  2. servlet+mysql实现的学生评教系统(角色:学生、教师、管理员 功能:评教、修改密码、评教规则管理、评教结果查看、学生管理、教师管理、班级管理、学生信息、评教结果可视化展示等)

    博客目录 servlet+mysql实现的学生评教系统 实现功能截图 使用技术 实现的功能 代码 写在最后 servlet+mysql实现的学生评教系统 本系统学生评教的管理,分为学生.教师.管理员三 ...

  3. 2021win11最新最全MySQL下载安装教程——手把手教你安装MySQL

    2021win11最新最全MySQL下载安装教程--手把手教你安装MySQL 最近重装了win11,给我MySQL整没了,故今天重新装一下. 第一步,进入官网 https://www.mysql.co ...

  4. solr6 mysql_solr6 从mysql上导入数据

    步骤1: 在webapps中solrhome下新建一个文件夹名字叫做mynode(名字不固定,可以随便取,但是这个名字在后面的配置中会有所关联.)然后在mynode文件下新建一个名字叫做conf的文件 ...

  5. solr6.3与MySQL结合使用

    一.什么是solr? solr 是一个全文搜索工具,它是由Lucene发展而来.那么,solr 和 Lucene 之间是什么样的关系呢?简单地说,如果把solr比喻成一辆汽车,那么Lucene就是一台 ...

  6. mac 查看mysql是否安装_[简明核心系列] 三分钟Mac安装MySQL教程

    作者: @向三 高质量学习 QQ 群: 1021386120 自由转载-非商用-非衍生-保持署名 | Creative Commons BY-NC-ND 3.0 文章结构: 前言 安装 HomeBre ...

  7. MySQL怎么给表简明_科学网—mySQL简明入门 - 张金龙的博文

    详情请参考http://downloads.mysql.com/docs/mysql-tutorial-excerpt-5.1-en.pdfmysql-u root-p回车密码12345Ctrl+D退 ...

  8. mysql 数据库安装命令_教你MySQL数据库的编译安装以及命令详解(5.7版本)

    一.安装MySQL所需的环境依赖包 [root@localhost opt]# yum -y install gcc gcc-c++ make ncurses ncurses-devel bison ...

  9. python之路 mysql 博客园_教为学:Python学习之路(二):MySQLdb的几种安装方式,以及用Python测试连接MySql...

    教为学:Python学习之路(二):MySQLdb的几种安装方式,以及用Python测试连接MySql Easy_install安装MySQLdb 很简单,以至于我不晓得该怎么说.一句话. sodu ...

  10. mysql limit优化_MySQL:教你学会如何做性能分析与查询优化

    点击上方"Java知音",选择"置顶公众号" 技术文章第一时间送达! 作者:mikevictor cnblogs.com/mikevictor07/p/7275 ...

最新文章

  1. docker 数据卷 volume
  2. 即插即用的轻量注意力机制ECA--Net
  3. Dockerfile----ubuntu-java
  4. ios中的视频采集及参数设置和相机操作
  5. 项目不需要SVN控制的时候,该怎么办
  6. [Redis6]Bitmaps与set对比
  7. 前端学习(1766):前端调试值之内存监控的原理和方法
  8. Kali-Linux-2019.04虚拟机与物理机实现复制粘贴功能
  9. 日志单例log4cpp简述
  10. 【转载】Python线程、进程和协程详解
  11. Struts2的struts.xml的配置细节
  12. 桂林老兵php,中间件解析漏洞
  13. 号外,号外,《React Native移动开发实战》出版啦
  14. java编程思想----7,多形性
  15. 管理经济分析01:博弈论与经济学
  16. 3.5主存储器与CPU的连接
  17. 软考中级到底有没有用?价值高吗?
  18. Discover中英文显示问题
  19. 如何判断给定年份是否为闰年?
  20. python做外贸_跟着销售学python(3)---开发微信公平台(1)

热门文章

  1. SpringBoot 的事务管理
  2. 五一劳动节,你在加班劳动吗?
  3. 史上最强Dubbo面试26题和答案:核心组件+服务治理+架构设计等
  4. 高并发架构系列:Redis并发竞争key的解决方案详解
  5. css3美话网页元素
  6. 星球大战 BZOJ 1015
  7. cell的各种使用和赋值 总结
  8. Maven如何手动添加jar包到本地Maven仓库
  9. [jQuery] form提交到iframe之后,获取iframe里面内容
  10. 分组在re模块中的使用