solr
转:https://blog.csdn.net/u010510107/article/details/81051795
目录
一、下载与安装
二、运行solr
三、创建core实例
四、配置schema
五、DIH导入数据
六、solrJ(java客户端)
本文所用到的工具
Postman :简单说就是一个可以发送post请求的http客户端 这是官网地址https://www.getpostman.com/
IKAnalyzer中文分词器 :一个第三方分词器,下载地址https://download.csdn.net/download/u010510107/10558538
一、下载与安装:
1、从Solr官方网站(http://lucene.apache.org/solr/ )下载Solr最新版本,根据Solr的运行环境,linux下需要下载solr-7.3.1.tgz,windows下需要下载solr-7.3.1.zip。
2、下载完成后会得到一个压缩包,解压后会获得一个solr_7.4.0文件夹,此文件夹目录结构如下图
二、运行solr
Solr的运行分为单机运行和集群运行,这里以单机为例:
1、在bin目录下执行bin/solr start 此命令会启动solr应用服务器默认端口为8983,如果想指定端口号启动可以加参数–p例 如:solr start –p 8888.
如图这句提示出现后证明服务启动成功(启动过程中如果打印java异常堆栈log4j2.xml 文件名、目录名或卷标语法不正确。没有关系不妨碍我们正常使用solr可以忽略此问题),接下来在浏览器输入http://localhost:8888/solr可以进入Admin UI界面验证是否启动成功如下图
此界面是用来管理solr的,此时solr服务器已经可以启动成功啦下面介绍一下其他比较常用的solr命令。
2、 solr常用命令:
solr start –p 端口号 单机版启动solr服务
solr restart –p 端口号 重启solr服务
solr stop –p 端口号关闭solr服务
solr create –c name 创建一个core实例(core概念后面介绍)
此外有关于solr集群版启动方式和其他更多的命令可以参看官方文档https://lucene.apache.org/solr/guide/7_4/solr-control-script-reference.html
三、创建core实例:
1、 core简介:简单说core就是solr的一个实例,一个solr服务下可以有多个core,每个core下都有自己的索引库和与之相应的配置文件,所以在操作solr创建索引之前要创建一个core,因为索引都存在core下面。
2、 core创建:core的创建方式有很多种,以下列出两种比较方便的。
(1) 在bin目录下执行solr create –c name,创建一个core,默认创建出来的位置如下图
(2) 第二种方式是直接使用AdminUI页面创建一个core,如下图
四、 配置schema
1、 schema简介:
schema是用来告诉solr如何建立索引的,他的配置围绕着一个schema配置文件,这个配置文件决定着solr如何建立索引,每个字段的数据类型,分词方式等,老版本的schema配置文件的名字叫做schema.xml他的配置方式就是手工编辑,但是现在新版本的schema配置文件的名字叫做managed-schema,他的配置方式不再是用手工编辑而是使用schemaAPI来配置,官方给出的解释是使用schemaAPI修改managed-schema内容后不需要重新加载core或者重启solr更适合在生产环境下维护,如果使用手工编辑的方式更改配置不进行重加载core有可能会造成配置丢失,配置文件所在的路径如下图:
2、 schema主要成员:
(1) fieldType:为field定义类型,最主要作用是定义分词器,分词器决定着如何从文档中检索关键字。
(2) analyzer:他是fieldType下的子元素,这就是传说中的分词器,他由一组tokenizer和filter组成,如下图所示
(3) field:他是创建索引用的字段,如果想要这个字段生成索引需要配置他的indexed属性为true,stored属性为true表示存储该索引。如下图所示每个field都要引用一种fieldType由type属性定义
这里描述的只是最常用的三个元素,关于更多schema的介绍请参考http://lucene.apache.org/solr/guide/7_4/documents-fields-and-schema-design.html
3、 Schema API:
Schema API其实就是用post请求向solr服务器发送携带json参数的请求,所有操作内容都封装在json中,如果是linux系统直接使用curl工具,如果是windows系统推荐使用Postman。
这里以添加一个field为例,下面列出其他API:
add-field: add a new field with parameters youprovide.
delete-field: delete a field.
replace-field: replace an existing field withone that is differently configured.
观看更多API内容请参考http://lucene.apache.org/solr/guide/7_4/schema-api.html
相关阅读
1.什么是jQuery插件? 往jquery类库里面去扩展方法,这类方法就是jquery插件。 2.json的三种格式 1 对象 2 列表/数组 3 混合模式
document.getelementbyid().value与innerHTML使用场景
首先getElementById()可以获取到页面上一个有id的元素,进而可以访问该元素的对应属性值,比如说value。<input type="text" id="txt"
京东商城根据京东直投广告消耗协议,会对于达标的卖家进行返点奖励,卖家可以在后台查看,这个奖励金不能提现和转账,只能用于投放广告消
FTP的命令行格式为:ftp -v -d -i -n -g [主机名],其中 -v显示远程服务器的所有响应信息; -n限制ftp的自动登录,即不使用; .n etrc文件;
Excel作为常用办公软件之一,在数据处理方面能力大家有目共睹,相信经常处理表格的人对它的强大也深有体会。主要原因之一,在于它并不