一.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. Packet for query is too large (84 > -1).

    windows下的resin配置连接mysql,常用的安全的做法是将数据库信息配置到conf目录下的resin.xml文件中. 因为resin连接mysql不是必须的,所以resin本身没有提供mys ...

  2. 双击CAD对象(具有扩展数据),显示自定义对话框实现方法

    转自:Cad人生 链接:http://www.cnblogs.com/cadlife/p/3463337.html 题目:双击CAD对象,显示自定义对话框实现方法 内容粘贴如下: 主要是绑定两个事件: ...

  3. IdentityServer4实战 - 基于角色的权限控制及Claim详解

    一.前言 大家好,许久没有更新博客了,最近从重庆来到了成都,换了个工作环境,前面都比较忙没有什么时间,这次趁着清明假期有时间,又可以分享一些知识给大家.在QQ群里有许多人都问过IdentityServ ...

  4. Python内置函数(47)——vars

    英文文档: vars([object]) Return the __dict__ attribute for a module, class, instance, or any other objec ...

  5. javascript学习(3)循环和判断

    continue:: break:: 一.for循环 1.for(i=1;i<6;i++)循环 2.for(x in jsonObject)循环 二.while循环 1.while循环 2.do ...

  6. Python学习之list有序集合

    # coding=utf-8 # list有序集合 classmate = ['Michael', 'Bob', 'Tracy'] print classmate print len(classmat ...

  7. JavaScript简单重写构造器的原型

    //简单重写原型对象: //一个构造函数Person function Person(){ } //重写Person的原型 //把Person的原型赋值给一个新的对象 是我们重写的过程 Person. ...

  8. 页面获取Web控件ID不能正常获取,它惹得祸

    今天碰到个比较奇葩的问题,因为动了一下目标框架,又原来的4.5.1改为3.5,然后又改回来了4.5.1,结果运行项目的时候发现界面js的计算,不能正常获值计算. 于是就开始找问题呗,先是发现这个二手项 ...

  9. python/MySQL练习题(二)

    python/MySQL练习题(二) 查询各科成绩前三名的记录:(不考虑成绩并列情况) select score.sid,score.course_id,score.num,T.first_num,T ...

  10. awk、变量、运算符、if多分支

    awk.变量.运算符.if多分支 awk: 语法 awk [options] 'commands' files option -F 定义字段分隔符,默认的分隔符是连续的空格或制表符 使用option中 ...