1、下载solr :wget http://archive.apache.org/dist/lucene/solr/7.3.0/solr-7.3.0.tgz   或者去官网自己下:http://archive.apache.org/dist/lucene/solr/  找下面图片字样点进去选版本

2、解压solr   命令:tar -zxvf solr-7.3.0.tgz -C /usr/local/software/   -C指定解压到的路径

3、启动solr 命令: bin/solr start -force  在此之前有两种做法  (1、直接启动 但会报错  它会创建一个目录   2、先创建目录,再添加core   这里要注意下图两个位置要和你创建的core名保持一致)

3.1 找到如下路径新建一个目录  没有ftp  就用命令进入解压solr位置下的/ server/solr  创建自定义目录  这个目录就等价于4.10.3下solrHome下的core

3.2  复制如下路径的两个文件夹到   3.1  步骤 (example-DIH里面有db  mail  solr  配置都可以使用 注意conf目录里面的东西看下图)

重启 命令:./solr restart -force     以上sorl基本配置就完成了  验证是否成功 看下图就行   如果没有表示的地方说明没成功

4、配置中文分析器  下载中文分析器ik-analyzer-solr7-7.x.jar  添加到   /usr/local/software/solr-7.3.0/server/solr-webapp/webapp/WEB-INF/lib  下  据说有自带的不知道怎么配置  地址:https://jar-download.com/download-handling.php

5、打开managed-schema 配置配置如下代码

<fieldType name="text_ik" class="solr.TextField">
<analyzer type="index">
<tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false" conf="ik.conf"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true" conf="ik.conf"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>

6、重启solr 命令:bin/solr restart -force

7、配置mysql    solr-dataimporthandler-7.3.0.jar 和 solr-dataimporthandler-extras-7.3.0.jar 和mysql-connector-java-5.1.46.jar放到solr-7.3.0/server/solr-webapp/webapp/WEB-INF/lib

mysql自己下   solr-dataimporthandler-7.3.0.jar 和 solr-dataimporthandler-extras-7.3.0.jar  在/solr-7.3.0/dist下面有复制到solr-7.3.0/server/solr-webapp/webapp/WEB-INF/lib(这样就不用手动引架包了)

8、进入你创建的core/conf   打开solrconfig.xml  命令:vi solrconfig.xml 在requestHandler 最后面添加以下代码即可

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

9、在同级目录下创建   data-config.xml  内容如下

<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig>
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/solr"
user="root"
password="root"/>
<document>
<entity name="product"
query="SELECT pid,name,catalog,catalog_name,price,description,picture FROM products ">
<field column="pid" name="id"/>
<field column="name" name="product_name"/>
<field column="catalog" name="product_catalog"/>
<field column="catalog_name" name="product_catalog_name"/>
<field column="price" name="product_price"/>
<field column="description" name="product_description"/>
<field column="picture" name="product_picture"/>
</entity>
</document>
</dataConfig>

10、 编写managed_schema

managed_schema里面定义了很多域,其实是使用了lucene中的域。 
什么是域?域的作用是定义一个solr索引里面的字段是什么类型,能做什么,怎么做。有点类似数据库中字段的类型。但表示的含义更加的丰富。

在managed_schema后面添加如下代码:


<!--product-->
<field name="product_name" type="text_ik" indexed="true" stored="true"/>
<field name="product_catalog" type="string" indexed="true" stored="true"/>
<field name="product_catalog_name" type="string" indexed="true" stored="true" />
<field name="product_price" type="pfloat" indexed="true" stored="true"/>
<field name="product_description" type="text_ik" indexed="true" stored="false" / >
<field name="product_picture" type="string" indexed="false" stored="true" />
<field name="product_keywords" type="text_ik" indexed="true" stored="false" mult iValued="true"/>

name是这个域的名称,在整个managed_schema文件里面需要唯一,不能重复,这里定义成跟数据库表字段的名称,方便使用。当然,也可以定义成其他名字。 
type是表示这个字段的类型是什么,string是字符串类型,int是整形数据类型,date是时间类型,相当于数据库里面的timestamp。 
indexed表示是否索引,索引的话就能查询到,否则,搜索的时候,不会出现。 
stored表示是否存储到索引库里面。
11、测试是否成功

12、停止solr 命令:bin/solr stop -all

13、卸载solr  直接删除solr根目录 重启虚拟机

centos 7 安装solr7.3.0 配置mysql的更多相关文章

  1. centos下安装python3.7.0以上版本时报错ModuleNotFoundError: No module named '_ctypes'

    centos下安装python3.7.0以上版本时报错ModuleNotFoundError: No module named '_ctypes'的解决办法 3.7版本需要一个新的包libffi-de ...

  2. CentOS 7安装Hadoop 3.0.0

    最近在学习大数据,需要安装Hadoop,自己弄了好久,最后终于弄好了.网上也有很多文章关于安装Hadoop的,但总会遇到一些问题,所以把在CentOS 7安装Hadoop 3.0.0的整个过程记录下来 ...

  3. 解决CentOS 7安装zabbix 3.0 无法启动zabbix-server的问题[segfault at 18 ip 00007f78842b4bd0 sp 00007fff1995a818 error 4 in libpthread-2.17.so[7f78842ab000+16000]]

    解决CentOS 7安装zabbix 3.0 无法启动zabbix-server的问题 [root@localhost sbin]# service zabbix-server start Redir ...

  4. Centos下安装Docker,并配置国内docker源

    Centos下安装Docker 替换为国内的yum源(可选): mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.re ...

  5. centos 上安装redis 3.0.5

    官网下载安装包,直接使用make编译,报如下错误 : [root@localhost redis-3.0.5]# make cd src && make all make[1]: 进入 ...

  6. 在Centos下安装httpd、php、Mysql并配置(转载)

    转自:http://club.jledu.gov.cn/?action-viewspace-itemid-299020 1.安装Apahce, PHP, Mysql, 以及php连接mysql库组件. ...

  7. centos yum安装高版本php,apache,mysql

    1.检查当前安装的PHP包 yum list installed | grep php 或者   yum list installed php* 如果要删除,可执行 yum remove php.x8 ...

  8. centos 7 安装官方LAMP(Apache+PHP5+MySQL)

    启用Apache2 yum install httpd systemctl start httpd.service systemctl status httpd systemctl enable ht ...

  9. CentOS编译安装PHP 7.0

    问题1: Cannot find ldap.h 解决办法: yum install openldapyum install openldap-devel 问题2: Cannot find ldap l ...

随机推荐

  1. IOSerialize(序列化)

    在讲序列化和反序列化之前,先来阐述文件夹/文件 检查.新增.复制.移动.删除, Directory和DirectotyInfo这两个特性主要是对文件夹进行操作 首先检测文件夹是否存在 if (!Dir ...

  2. C++Primer笔记-----day05

    =======================================================================day05======================== ...

  3. 【转】正则表达式简介及在C++11中的简单使用教程

    正则表达式Regex(regular expression)是一种强大的描述字符序列的工具.在许多语言中都存在着正则表达式,C++11中也将正则表达式纳入了新标准的一部分,不仅如此,它还支持了6种不同 ...

  4. (转) Linux下配置nfs并远程挂载

    nfs是网络文件系统,允许一个节点通过网络访问远程计算机的文件系统,远程文件系统可以被直接挂载到本地,文件操作和本地没有区别,如果是局域网的nfs那么io的性能也可以保证,下面就以CentOS 7.x ...

  5. go grpc

    https://godoc.org/google.golang.org/grpc go get google.golang.org/grpc go get -a github.com/golang/p ...

  6. 在tomcat中的conf文件夹下找server.conf 配置如下代码,可省略项目名路径访问 如 localhost:8080 即可访问到项目

    <Context path="" docBase="C:\Workspaces\Projects\SLSaleSystem_dw\WebRoot" rel ...

  7. distributed lock manager (DLM)(分布式管理锁)

    A distributed lock manager (DLM) provides distributed software applications with a means to synchron ...

  8. C#根据URL生成签名

    代码: using System; using System.Collections.Generic; using System.Linq; using System.Security.Cryptog ...

  9. #error用法

    #error命令是C/C++语言的预处理命令之一,当预处理器预处理到#error命令时将停止编译并输出用户自定义的错误消息. 语法: #error [用户自定义的错误消息] 注:上述语法成份中的方括号 ...

  10. Win10系统SQL数据库安装

    Win10系统MySQL数据库安装 1. 安装文件下载 下载地址: https://downloads.mysql.com/archives/community/ 下载版本: mysql-8.0.15 ...