solr安装启动及可视化界面介绍

2019-03-27  第三方api 部署系统 组件         公开-普

下载地址:https://www-us.apache.org/dist/lucene/solr/ 解压下载的压缩包放到自己指定的位置即可完成Solr安装。在命令行中路径切换到solr目录的bin下,执行启动命令即可启动solr。(Solr默认端口为8983)

风中漫步者 https://blog.csdn.net/qwqw3333333/article/details/84333510
评论列表

solr常用命令

    2019-03-27    

启动停止Solr

#后台启动Solr服务器,默认端口8983,默认主目录server/solr
solr start
#前台启动Solr服务器
solr start -f
#SolrCloud模式启动Solr,如果-z没有指明或ZK_HOST没有在solr.in.cmd中定义,默认使用一个端口为Solr port+1000的嵌入式Zookeeper实例。
solr start -c 或者 solr start -cloud
#指定Solr服务器实例的host名
solr start -h mysolr
#指定solr http监听端口,
solr start -p 8984
#指明Solr服务的目录,默认是server
solr start -d dir/
#指明Zookeeper的Host
solr start -z 192.168.1.198:22222
#指定内存的最大和最小使用量。如-m 4g代表-Xms4g -Xmx4g
solr start -m 4g
#指定主目录路径
solr start -s evendir/
#指定索引存储路径
solr start -t  dir/
#停止solr服务器
solr stop -p port
#停止所有solr服务器
solr stop -all

创建内核

#创建内核
solr create -c corename
#指定配置文件目录
solr create -c corename -d confdir/
#指定solr服务器的监听端口
solr create -c corename -p 8983
#支持详细输出级别
solr create -c corename -v info

删除内核

#删除内核
solr delete -c corename
#删除内核时把Zookeeper上的配置也一起删除,布尔类型,默认为true
solr delete -c corename -deleteConfig 0 #删除指定端口的内核,如果没有指定,则会搜索本地系统正在运行的solr实例,用第一个找到的实例的端口
solr delete -c corename -p 8985
#打印详细信息
solr delete -c corename -v info

创建核心

    2019-03-27    

每个核心都是solr的一个实例,一个solr服务可以创建多个核心,每个核心都可以进行自己独立配置。在solr_home\server\solr目录下创建一个文件夹(比如new_core),文件夹名称与核心名称相同。将solr_home\server\solr\configsets_default路径下的conf文件夹复制到new_core目录下。bin目录下输入命令:

 solr create –c new_core

也可以通过可视化界面创建。

配置中文分词器

    2019-03-27    

转自:Solr7.7安装,配置中文分词 IKAnalyzer分词https://www.cnblogs.com/caleyun/p/10455985.html

下载中文分词器IKAnalyzer,下载地址https://pan.baidu.com/s/18J-ssX2IALz87oZYvjFzvw,密码:igt9。

1. 解压压缩包包,将ik-analyzer-7.7.0.jar包放入/soft/solr-7.7.0/server/solr-webapp/webapp/WEB-INF/lib/目录下

2. 将resources目录下的5个配置文件放入soft/solr-7.7.0/server/solr-webapp/webapp/WEB-INF/classes/目录下:

① IKAnalyzer.cfg.xml

② ext.dic

③ stopword.dic

④ ik.conf

⑤ dynamicdic.txt

3. 配置Solr的managed-schema,添加ik分词器,示例如下;

<!-- ik分词器 --> <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>

导入索引数据(MySQL数据库)

    2019-03-27    

1. 在路径solr_home\server\solr\new_core\conf下新建my-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_test"
                user="root" password=""/>
    <document>
        <entity name="user" query="select * from user">
            <field column="id" name="id"/>
            <field column="age" name="age"/>
            <field column="name" name="name"/> <field column="hobby" name="hobby"/>
        </entity>
    </document>
</dataConfig>
2. 用solr添加数据库字段对应的索引字段,其中type指定分词方式,在查询时会按type指定的方式处理。其中后4个字段是core初始化自带的(不能重复添加,可以将数据库字段存为其他名字)。在可视化界面添加后打开managed-schema文件会看到:
<field name="name" type="text_ik" indexed="true" stored="true"/>
<field name="age" type="pint" indexed="true" stored="true"/>
<field name="hobby" type="string" indexed="true" stored="true"/>
<field name="_root_" type="string" docValues="false" indexed="true" stored="false"/>
<field name="_text_" type="text_general" multiValued="true" indexed="true" stored="false"/>
<field name="_version_" type="plong" indexed="false" stored="false"/>
<field name="id" type="string" multiValued="false" indexed="true" required="true" stored="true"/>
在添加field时如果选中uninvertible,在查询时需要分词完全匹配该字段的内容。

3. 打开该路径下文件:solr_home\server\solr\new_core\conf\solrconfig.xml,随便找一个与requestHandler同级节点上添加以下配置:
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
    <lst name="defaults">
        <str name="config">my-data-config.xml</str>
    </lst> </requestHandler>
将solr_home\dist 目录下的solr-dataimporthandler-7.5.0.jar和MySQL驱动(随便找个MySQL驱动)复制到solr_home\server\solr-webapp\webapp\WEB-INF\lib 目录下。重启solr服务,在可视化界面下通过 dataimport 导入数据。

core/conf/managed-schema文件

    2019-03-27    

三、schame
schame文件可以对索引库的数据类型进行定义,对字段是否进行索引、储存等进行设置,要针对核心单独进行配置。
schame的数据类型基本够用,如果不能满足需求,比如说对中文分词、拼音分词等,就可以自定义分词器。
Solr 7.5的schema配置文件名为managed-schema,路径为solr_home\server\solr\new_core\conf\managed-schema(D:\Program Files\solr-7.5.0\server\solr\new_core\conf\managed-schema)。

3.1 schema主要成员
(1) fieldType:为field定义类型,最主要作用是定义分词器,分词器决定着如何从文档中检索关键字。
(2) analyzer:fieldType的子元素,是分词器,由tokenizer和filter组成。例如
(3) field:字段,用来创建索引,如果这个字段需要生成索引,则需要设置的indexed为true,需要存储设置stored属性为true。例如:

3.2 添加索引字段
方式一:直接修改managed-schema配置文件(不推荐,修改后需要重启服务),例如:

方式二:通过solr页面进行添加。(推荐,不需要重启服务)

core/conf/solrconfig.xml文件

    2019-03-27    

面板使用

    2019-03-27    

https://blog.csdn.net/weixin_37581297/article/details/86571986

https://www.cnblogs.com/zhangweizhong/p/5056884.html

solr英文使用的基本分词器和过滤器配置

    2019-04-29    

https://kobe-hz.iteye.com/blog/1828012

https://www.cnblogs.com/a198720/p/3568850.html

文章内容的h2标题锚点:
评论列表
solr常用命令
创建核心
配置中文分词器
导入索引数据(MySQL数据库)
core/conf/managed-schema文件
core/conf/solrconfig.xml文件
面板使用
solr英文使用的基本分词器和过滤器配置