热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

solr6.3与MySQL结合使用的简明教程一

一、WEB控制台界面介绍http:127.0.0.1:8080solrindex.html左边方框中的菜单项选择重要的说明一下:Dashboard:首页,

一、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文件,找到下面几行:

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

在这几行代码下面紧跟着另起一行,加一个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&#61;"JdbcDataSource" driver&#61;"com.mysql.jdbc.Driver" url&#61;"jdbc:mysql://127.0.0.1:3306/db1" user&#61;"test_user" encoding&#61;"UTF-8" password&#61;"123456"/> <document> <entity name&#61;"jynbook" processor&#61;"SqlEntityProcessor" pk&#61;"id" query&#61;"select c_id,c_name,c_isbn from t_book"> <field name&#61;"id" column&#61;"c_id" /> <field name&#61;"name" column&#61;"c_name" /> <field name&#61;"isbn" column&#61;"c_isbn" /> entity> document> dataConfig>

编辑 managed-schema 文件&#xff0c;换成下面的内容&#xff1a;



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

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


推荐阅读
  • solr导入mysql_Solr导入MySQL中的数据
    一、目标将MySQL数据库中的数据导入至Solr中,并且由Solr生成中文索引,使用Solr查询信息。二、数据导入1、将solr-8.2.0dist下的 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 在CentOS/RHEL 7/6,Fedora 27/26/25上安装JAVA 9的步骤和方法
    本文介绍了在CentOS/RHEL 7/6,Fedora 27/26/25上安装JAVA 9的详细步骤和方法。首先需要下载最新的Java SE Development Kit 9发行版,然后按照给出的Shell命令行方式进行安装。详细的步骤和方法请参考正文内容。 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • 本文介绍了将mysql从5.6.15升级到5.7.15的详细步骤,包括关闭访问、备份旧库、备份权限、配置文件备份、关闭旧数据库、安装二进制、替换配置文件以及启动新数据库等操作。 ... [详细]
  • Activiti7流程定义开发笔记
    本文介绍了Activiti7流程定义的开发笔记,包括流程定义的概念、使用activiti-explorer和activiti-eclipse-designer进行建模的方式,以及生成流程图的方法。还介绍了流程定义部署的概念和步骤,包括将bpmn和png文件添加部署到activiti数据库中的方法,以及使用ZIP包进行部署的方式。同时还提到了activiti.cfg.xml文件的作用。 ... [详细]
  • Centos7搭建ELK(Elasticsearch、Logstash、Kibana)教程及注意事项
    本文介绍了在Centos7上搭建ELK(Elasticsearch、Logstash、Kibana)的详细步骤,包括下载安装包、安装Elasticsearch、创建用户、修改配置文件等。同时提供了使用华为镜像站下载安装包的方法,并强调了保证版本一致的重要性。 ... [详细]
  • 本文分析了Wince程序内存和存储内存的分布及作用。Wince内存包括系统内存、对象存储和程序内存,其中系统内存占用了一部分SDRAM,而剩下的30M为程序内存和存储内存。对象存储是嵌入式wince操作系统中的一个新概念,常用于消费电子设备中。此外,文章还介绍了主电源和后备电池在操作系统中的作用。 ... [详细]
  • springboot启动不了_Spring Boot + MyBatis 多模块搭建教程
    作者:枫本非凡来源:www.cnblogs.comorzlinp9717399.html一、前言1、创建父工程最近公司项目准备开始重构,框 ... [详细]
  • 一:什么是solrSolr是apache下的一个开源项目,使用Java基于lucene开发的全文搜索服务器;Lucene是一个开放源代 ... [详细]
  • Lucene 全文检索技术入门
    一、搜索引擎的历史萌芽:Archie、Gopher起步:Robot(网络机器人)的出现与spider(网络爬虫)发展:excite、galax ... [详细]
  • solr倒排索引(转载)
    原文地址:http:blog.csdn.netchichengitarticledetails9235157http:blog.csdn.netnjpjsoftdevarticle ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
author-avatar
阳光-假日
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有