一.solr的简介

1) solr是企业级应用的全文检索项目,它是基于Apache Lucence搜索引擎开发出来的用于搜索的应用工程

2) solr最新版本6.6 下载地址:下载地址

二 启动与配置solr

1) 下载并解压文件后会得到以下界面:

我们重点关注以下几个文件夹:

1.bin 放置solr的相关执行脚本,在solr5.0版本以前,部署过程相当麻烦,好在Apache帮我们简化了相关solr的配置

2.example :这个文件夹里放置的一些solr应用实例。对于我们当然可以在实际的应用中将示例借来使用

3.server:其实就是tomcat目录,在这里部署了solr的项目

下一步进入bin文件夹里运行 ./solr start

$ ./solr start
Waiting up to seconds to see Solr running on port [\]
Started Solr server on port (pid=). Happy searching!

在浏览器输入 localhost:8983/solr 就可以展示如下界面

当运行成功后,紧接着要运行命令:

$ ./solr create -c helloworld

创建一个名字为 helloworld的core (core相当于一个搜索项目工程)

三.配置dataimport从数据库获取数据

1.在${solr.home}/example/example-DIH/solr/db/conf下拷贝solrconfig.xml与db-data-config.xml文件至${solr.home}/server/solr/${core.name}/conf下,注意:${solr.home}指solr的安装目录 ${core.name}指创建的core的名字,本例中是helloworld

2.编辑db-data-config.xml

<dataConfig>
<dataSource driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/house?charactorEncoding=utf-8" user="root" password="" />
<document>
<entity name="item" query="select * from topics" pk="topic_id"
deltaQuery="select * where updatedate > '${dataimporter.last_index_time}'">
<field column="topic_id" name="topicId" /> <field column="topic" name="topic" />
<field column="updatedate" name="ldate" dateTimeFormat="yyyy-MM-dd HH:mm:ss"/>
</entity> </document>
</dataConfig>

该配置文件配置数据源,以及查询数据表中数据

注意以下几点:

.保证查询的字段必须包含数据表的主键

.配置文件中的field节点对应数据表中的列名及索引名(name)

.datasource节点中配置数据源 entity节点配置一个实体 deltaQuery属性是配置增量获取数据的SQL

.注意一定要将数据库的驱动拷贝到${solr.home}/server/solr-webapp/webapp/WEB-INF/lib 下

3.编辑${solr.home}/server/solr/${core.name}/conf/managed-schema

注意修改unqiuekey节点值为topicId (对应<field name="topicId" column="topic_id" />中的name属性)

并增加以下配置:

 <field name="topicId" type="long" multiValued="false" indexed="true" required="true" stored="true"/>
<field name="ldate" type="date" indexed="true" stored="true"/>
<field name="topic" type="text_general" docValues="false" indexed="true" stored="true"/>

注意:

必须修改unqiueKey的节点内容为对应的主键信息,这一步很重要

field节点对应db-data-import.xml中的field节点 其中他们的name属性保持一致

四 将数据库的数据导入到solr中

在工作台上运行该功能即可,需要标注的地方都标红:

 五:验证是否成功:

solr6.6初探之配置篇的更多相关文章

  1. solr6.6初探之分词篇

    关于solr6.6搭建与配置可以参考 solr6.6初探之配置篇 在这里我们探讨一下分词的配置 一.关于分词 1.分词是指将一个中文词语拆成若干个词,提供搜索引擎进行查找,比如说:北京大学 是一个词那 ...

  2. solr6.6初探之查询篇

    关于搜索与查询,首先我们来看一张图: 这张图说明了solr查询原理: 1.当通过solr发起查询的时候,引擎会选择一个RequestHandler(从字面意思上来说就是请求处理器)来进行查询处理 2. ...

  3. 自定义HttpModule的一些经验--配置篇

    http://www.cnblogs.com/MyaSky/articles/2134954.html 自定义HttpModule的一些经验--配置篇 自定义web模块,需继承System.Web.I ...

  4. maven 配置篇 之pom

    maven 配置篇 之pom.xml(一) 博客分类:  pm mavenXML配置管理项目管理junit      说完了settings.xml配置,下来说一下maven2的主要配置pom.xml ...

  5. Linux配置mysql (centos配置java环境 mysql配置篇 总结四)

    ♣安装的几种方法和比较 ♣配置yum源 ♣安装mysql ♣启动mysql ♣修改密码 ♣导入.sql文件 ♣缓存设置 ♣允许远程登录(navicat) ♣配置编码为utf8  1.关于Linux系统 ...

  6. Linux配置tomcat (centos配置java环境 tomcat配置篇 总结三)

    ♣下载安装tomcat7 ♣设置启动和关闭 ♣设置用户名和密码 ♣发布java web项目 声明:这篇教程是建立在前两篇教程的基础上的,所以,还没安装工具和jdk,可以先看这个系列的前面两篇(去到文末 ...

  7. maven 配置篇 之pom.xml

    http://www.blogjava.net/zyl/archive/2006/12/30/91055.html http://maven.apache.org/pom.html的翻译.     m ...

  8. 【Cocos2d-Js基础教学(1)JS -Mac配置篇】

    一.准备工作 Windows配置篇请见 http://cn.cocos2d-x.org/tutorial/show?id=1396 1.安装python 2.下载Android SDK Android ...

  9. 【cocos2d-x 3.0-Mac配置篇】

    就在昨天触控正式发布了3.0正式版本... 在这个喜大普奔的日子里,我们又开始了新一轮的革命,先不说其他的,再来看看3.0目录文件里面有什么? 首先是精简了很多,无论是从目录结构,和所用到的工具类,都 ...

随机推荐

  1. 从数据恢复角度解析RAID6结构原理

    [什么是RAID]    RAID的概念描述在互联网上比比皆是,用最简单的原理描述,就是在定义存储方式时允许在一部分数据缺失的情况下不影响全部数据,类似于通讯领域的纠错码.不同的冗余模式形成了不同的R ...

  2. UML开发工具Rose ralation的破解安装,

    UML开发工具Rose ralation的在windows764破解安装, 安装下载还可以参考:http://www.cnblogs.com/leaven/p/3718361.html 跟大家分享怎么 ...

  3. 源码解析Flask的配置文件

    在flask里,我们常在主文件中定义某些配置,比如: app.debug = True app.secret_key = 'helloworld!!' 实际上,flask中默认可以进行可选的配置项有很 ...

  4. Angular UI框架 Ng-alain @delon的脚手架的生成开发模板

    前言 首先感谢下 cipchk基于 Ng-Zorror 框架上制作的ng-alain . 之前很早就关注了 ng-alain,今天得空折腾了下. 折腾的时候发现官方文档有些坑,没有写清楚,所以我作为一 ...

  5. JSON(五)——同步请求中使用JSON格式字符串进行交互(不太常见的用法)

    在同步请求中使用JSON格式进行数据交互的场景并不多,同步请求是浏览器直接与服务器进行数据交互的大多是用jsp的标签jstl和el表达式对请求中的数据进行数据的渲染.我也是在一次开发中要从其它服务器提 ...

  6. Ecplise 配置本地 https 测试

    今天做项目,需要关联Office 365.为了实现Office365的用户邮件信息与项目的实时同步,需要建立webhook订阅. Office 365 API 连接  https://graph.mi ...

  7. c#:ThreadPool实现并行分析,并实现线程同步结束

    背景: 一般情况下,经常会遇到一个单线程程序时执行对CPU,MEMORY,IO利用率上不来,且速度慢下问题:那么,怎么解决这些问题呢? 据我个人经验来说有以下两种方式: 1.并行.多线程(Parall ...

  8. 框架学习Struts2之HelloWord

    一.概述 Struts2是基于MVC设计模式的web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts作为控制器(Controller)来建立模型与视图之间的数据交互.Str ...

  9. Java面试题—中级(中)

    什么是线程死锁?死锁如何产生?如何避免线程死锁?   死锁的介绍:   线程死锁是指由于两个或者多个线程互相持有对方所需要的资源,导致这些线程处于等待状态,无法前往执行.当线程进入对象的synchro ...

  10. [转]python 模块 chardet下载及介绍

    来源:http://blog.csdn.net/tianzhu123/article/details/8187470/   在处理字符串时,常常会遇到不知道字符串是何种编码,如果不知道字符串的编码就不 ...