Solr 5.2.1 部署并索引Mysql数据库

1.Solr简介

  Solr是一个高性能,采用Java5开发,SolrSolr基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。

  Solr不仅可以对各种文档(doc、txt、pdf、html...)进行索引,还可以索引数据库中的数据。

  solr 5.2.1 下载地址:http://archive.apache.org/dist/lucene/solr/5.2.1/

2.启动Solr

  下载Solr文件后解压至任意目录,cd至solr主目录:/solr-5.2.1,使用如下命令启动Solr

  bin\solr start

  打开 http://localhost:8983/solr,进入Solr管理界面;

3.CREATE SolrCore 

  新建一个SolrCore,名为collection,命令如下:

  bin\solr create -c collection

  系统将自动生成collection目录位于:\solr-5.2.1\server\solr\collection;

4.修改相关配置文件

  4.1 打开collection\conf\solrconfig.xml,添加如下内容:

 <requestHandler name="/dataimport"   class="solr.DataImportHandler">
    <lst name="defaults">
      <str name="config">data-config.xml</str>
    </lst>
  </requestHandler>

  接着找到如下内容:

  <schemaFactory class="ManagedIndexSchemaFactory">
    <bool name="mutable">true</bool>
    <str name="managedSchemaResourceName">managed-schema</str>
  </schemaFactory>

  修改为:

  <schemaFactory class="ManagedIndexSchemaFactory" />

  4.2 在当前目录下创建data-config.xml文件,内容如下:

<?xml version="1.0" encoding="utf-8"?>
<dataConfig>
    <dataSource name="slave1"
             type="JdbcDataSource"
             driver="com.mysql.jdbc.Driver"
             url="jdbc:mysql://your_ip:3306/your_database_name"
             user="username"
             password="password"
             batchSize="-1" />

    <document>
        <entity name="weibo" pk="ID" dataSource="slave1" query="SELECT id,text,baseUrl,author FROM your_table_name">
          <field column="id" name="id" />
          <field column="text" name="text" />
          <field column="baseUrl" name="baseUrl" />
          <field column="author" name="author" />
        </entity>
    </document>
</dataConfig>

 4.3  在当前目录下创建admin-extra.html、admin-extra.menu-bottom.html、admin-extra.menu-top.html三个文件;

 4.4 重命名managed-schema文件为schema.xml

  打开后添加如下内容:

<field name="text" type="text_IKAnalyzer" indexed="true" stored="true" />
    <field name="baseUrl" type="text_general" indexed="true" stored="true" />
    <field name="author" type="text_general" indexed="true" stored="true" />
    <defaultSearchField>text</defaultSearchField>

<fieldType name="text_IKAnalyzer" class="solr.TextField">
      <analyzer type="index" isMaxWordLength="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
      <analyzer type="query" isMaxWordLength="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
    </fieldType>

  4.5 将相关jar包放入\solr-5.2.1\server\solr-webapp\webapp\WEB-INF\lib目录中,包括:

\solr-5.2.1\dist目录中的solr-dataimporthandler-5.2.1.jar和solr-dataimporthandler-extras-5.2.1.jar

JDBC驱动:mysql-connector-java-5.0.8-bin.jar

IK-Analyzer分词器:IK-Analyzer-ForSolr5.1.jar

  4.6 将IK-Analyzer的相关配置文件放入\solr-5.2.1\server\solr-webapp\webapp\WEB-INF\classes目录中(没有就新建一个)

  4.7 重启solr

  bin\solr restart -p 8983

  4.8 导入数据库数据

  ps:solr删除索引命令为:

<delete><query>*:*</query></delete>
<commit/>
时间: 2024-11-07 10:53:31

Solr 5.2.1 部署并索引Mysql数据库的相关文章

源码时代Linux干货分享| 如何在CentOS上部署JDK及MySQL数据库

1.在CentOS上用包管理器快速部署JDK 查看centos原本自带的openjdk,运行命令:rpm -qa | grep java 卸载openjdk rpm -e --nodeps java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64 rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.102-4.b14.el7.x86_64 rpm -e --nodeps java-1.7.0-openjdk-hea

使用Solr索引MySQL数据

环境搭建 1.到apache下载solr,地址:http://mirrors.hust.edu.cn/apache/lucene/solr/ 2.解压到某个目录 3.cd into D:\Solr\solr-4.10.3\example 4.Execute the server by “java -jar startup.jar”Solr会自动运行在自带的Jetty上 5.访问http://localhost:8983/solr/#/ 创建MySQL数据 DataBase Name: mybat

solr 4.8+mysql数据库数据导入 + mmseg4j中文全文索引 配置笔记

1.如何将solr部署,请参考之前的文章 2.按上述配置好后,在solr_home文件夹中,将包含collection1文件夹,这就是solr的一个实例.下面我们来看看collection1中的文件内容. collection1中包含conf和data两个子文件夹.data中包含tlog和index(如果没有也没关系,稍后再solr建立索引时,将会被创建).tlog是记录日志的文件夹,index是存放索引的文件夹.conf中包含lang文件夹和若干文件.lang文件夹中包含的是词库文件,但是so

JAVA环境下利用solrj二次开发SOlR搜索的环境部署常见错误

问题一:出现控制台坏的响应错误一Bad request 控制台出现错误如下: Bad Request request: http://hostIP:8983/solr/update?wt=javabin&version=1 解决方法: 出现以上错误的原因是,solr服务器上配置的Field和javabean提交的Field不能对应, 导致solr服务器找不到域,拒绝访问. 打开SOLR_HOME下的conf文件夹找到schema.xml文件,在其中添加对应的域. 例如以下代码添加了:title,

solr 的客户端调用solrj 建索引+分页查询

一.利用SolrJ操作solr API 使用SolrJ操作Solr会比利用httpClient来操作Solr要简单.SolrJ是封装了httpClient方法,来操作solr的API的.SolrJ底层还是通过使用httpClient中的方法来完成Solr的操作. 需要的包如下: 1. apache-solr-solrj-3.5.0.jar 2. commons-httpclient-3.1.jar 3.slf4j-api-1.6.0.jar 4.commons-logging-1.1.jar 在

centos服务器上java环境和tomcat部署过程以及mysql简单修改

本文记录了centos安装完成后java.tomcat部署以及针对olds网站系统mysql数据库的修改,红色部分为实际操作的过程. 初始条件:centos安装完成(x86桌面版本5.5),mysql安装完成. 基本知识:会使用centos终端(下文命令中最前面的#符号是默认的终端命令行提示符,不需要实际输入). 一.JAVA安装 1. centos自带了OPENJDK,一般不用这个,需要卸载. 用命令java -version 查看java版本,会有下面的信息: javaversion "1.

我与solr(二)--导入mysql数据库

关于solr的搭建详见上一篇的随笔. 步骤1: 在webapps中solrhome下新建一个文件夹名字叫做mynode(名字不固定,可以随便取,但是这个名字在后面的配置中会有所关联.)然后在mynode文件下新建一个名字叫做conf的文件夹(这个文件名字最后不要改.)然后把官网下下来的solr项目中solr-6.0.0\server\solr\configsets\data_driven_schema_configs\conf下的所有东西复制到conf中去.(注意不要复制错!)最后把solr-6

MYSQL数据库表排序规则不一致导致联表查询,索引不起作用问题

Mysql数据库表排序规则不一致导致联表查询,索引不起作用问题 表更描述: 将mysql数据库中的worktask表添加ishaspic字段. 具体操作:(1)数据库worktask表新添是否有图片字段ishaspic:新添字段时,报错 [SQL] alter table WorkTask add ishaspic int(10) Null;[Err] 1034 - Incorrect key file for table 'WorkTask'; try to repair it 解决方案:新建

Mysql数据库索引

索引(Index)是帮助mysql高效获取数据的数据结构.对于高性能非常关键. 索引的重要性主要体现在数据量非常大的时候.规模小,负载轻的数据库即使没有索引也可以获到好的查询效果 例如: 1 mysql>select first_name from actor where actor_id=5; 改索引列位于actor_id列,因此mysql会使用索引找到actor_id为5的行. 索引有很多种类型,各自有各自的特点.索引实在存储引擎层实现的,而不是服务器层. (1).B-Tree索引 谈论引擎