1.集群模式启动
./solr -c -z 127.0.0.1:2181 -p 9001 -t /data/solr/solr-cloud-data/node1 -force
-c 集群模式
-z zookeeper地址
-p 端口号
-t 指定数据目录
-force 以root方式启动时,需要使用该参数
2. 停止solr
./solr stop -p 9001
-p 端口号
3. solrconfig.xml
.配置schema为手动修改模式(经典模式)
修改 solrconfig.xml :
a.增加:<schemaFactory class="ClassicIndexSchemaFactory"/>
(手动修改 schema.xml ,而不是用接口api修改schema配置。 )
{api方式:默认方式:ManagedIndexSchemaFactory }
b. 自动创建字段设为false
<!-- The update.autoCreateFields property can be turned to false to disable schemaless mode -->
<updateRequestProcessorChain name="add-unknown-fields-to-the-schema" default="${update.autoCreateFields:true}"
processor="uuid,remove-blank,field-name-mutating,parse-boolean,parse-long,parse-double,parse-date,add-schema-fields">
<processor class="solr.LogUpdateProcessorFactory"/>
<processor class="solr.DistributedUpdateProcessorFactory"/>
<processor class="solr.RunUpdateProcessorFactory"/>
</updateRequestProcessorChain>
修改成:defalut = false
. 指定软提交时间:
<autoSoftCommit>
<maxTime>5000</maxTime>
</autoSoftCommit>
4. 配置字段及类型 (schema.xml)
${solr_home}/server/solr/configsets/_default 目录copy managed_schema to schema.xml .
在schema.xml上增加字段。
动态字段:如果数据随机增加字段,可以使用动态字段如:
<dynamicField name="*_i" type="pint" indexed="true" stored="true"/>
<dynamicField name="*_is" type="pints" indexed="true" stored="true"/> <dynamicField name="*_s" type="string" indexed="true" stored="true" /> <dynamicField name="*_ss" type="strings" indexed="true" stored="true"/> <dynamicField name="*_l" type="plong" indexed="true" stored="true"/> <dynamicField name="*_ls" type="plongs" indexed="true" stored="true"/> <dynamicField name="*_t" type="text_general" indexed="true" stored="true" multiValued="false"/> <dynamicField name="*_txt" type="text_general" indexed="true" stored="true"/> <dynamicField name="*_b" type="boolean" indexed="true" stored="true"/> <dynamicField name="*_bs" type="booleans" indexed="true" stored="true"/> <dynamicField name="*_f" type="pfloat" indexed="true" stored="true"/> <dynamicField name="*_fs" type="pfloats" indexed="true" stored="true"/> <dynamicField name="*_d" type="pdouble" indexed="true" stored="true"/> <dynamicField name="*_ds" type="pdoubles" indexed="true" stored="true"/>
要求字段名匹配上面的name。
另外:如果字段名,不是按_i、_s等结尾的规则,也可以使用:
<dynamicField name="*" type="string" indexed="true" stored="true" />
结果是所有字段名未匹配的字段,都转换为string类型存储了。
多值字段:
如:"hobby":["玩","吃","喝"]
<field name="hobby" type="string" indexed="false" stored="true" required="false" multiValued="true"/>
忽略未定义的字段:
<dynamicField name="*" type="ignored" multiValued="true"/> <fieldType name="ignored" stored="false" indexed="false" multiValued="true" class="solr.StrField" />
5.上传配置文件到zk:
./solr zk upconfig -z 127.0.0.1:2181 -n mycollection -d /opt/mycollection_conf
-z zookeeper地址
-n 新建的配置名称,之后创建collection 会关联这个名称而找到配置文件。
-d 指定配置文件的目录,配置文件如:
schema.xml, protwords.txt, params.json, solrconfig.xml, synonyms.txt, stopwords.txt 等
这些文件可以从默认配置中copy 过来,再修改成想要的。
默认配置路径:${solr_home}/server/solr/configsets/_default
6.创建collection:
6.1 以implicit模式创建
http://localhost:9001/solr/admin/collections?action=CREATE&name=mycollection&router.name=implicit&numShards=2
&shards=shard0,shard1&replicationFactor=2&
collection.configName=mycollection&router.field=_router_
name :collection 名称
router.field:路由字段名,(schema.xml中配置的字段)
numShards: shard 个数
shards:shard 名称(逗号分隔),名称数与shard个数相同。
replicationFactor:副本个数
router.name:implicit
以implicit方式创建,写入时,数据中需要有router.field配置的字段,该字段的值=shards中配置的名称,就对应到哪个 shard上。
6.2 以composite 方式创建:
http://localhost:8983/solr/admin/collections?action=create&name=mycollection
&router.name=compositeId&numShards=5&replicationFactor=2
&collection.configName=mycollection
name :collection 名称
router.field:路由字段名,(schema.xml中配置的字段)
numShards: shard 个数
replicationFactor:副本个数
router.name:compositeId
以compositeId方式创建,写入时,solr根据文档主键值,取hash,确定数据写入到哪个shard的,每个shard
保存固定hash范围的数据。
7.删除collections:
http://localhost:8983/solr/admin/collections?action=DELETE&name=mycollection
8.查询:
http://localhost:9001/solr/mycollection/select?q=_router_:shard0
相关推荐
Solr笔记 Solr 是 Apache 下的一个项目,是使用 Java 开发的,全文搜索服务器。Solr 是基于 Lucene 的,它可以独立运行,独立对外提供搜索和索引服务。Solr 提供了一个灵活的全文搜索解决方案,可以满足各种搜索...
Solr 是一个开源的全文搜索服务器,由Apache Lucene项目维护。它提供了高效、可扩展的搜索和分析功能,常用于大数据量的全文检索、数据分析和分布式搜索应用。本篇文章将详细探讨Solr的安装运行、添加分词器以及配置...
【Solr笔记教案】 Solr,全称Apache Solr,是一个基于Java的开源全文搜索服务器,它是Apache Lucene项目的衍生产品。Solr以其强大的搜索功能、可配置性、可扩展性和高性能而受到广泛欢迎。它能够独立部署在Servlet...
### SOLR学习笔记 #### 一、Solr简介与特点 **Solr** 是一种开源的企业级搜索平台,它是基于 **Lucene Java** 构建的。Solr 的设计目标是为了提供高性能、高可用性的搜索服务,适用于各种规模的企业级应用。 **...
Solr 是一个流行的开源搜索引擎,提供了丰富的功能,其中包括 Facet(分面)查询,它能够帮助用户在大量数据中进行高效、多维度的筛选。Facet 查询是数据分析和信息检索中的一个重要工具,允许用户查看数据的不同...
【标题】中的关键词涉及到多个IT技术领域,包括`activemq`、`dubbo`、`linux`、`redis...这些资源的笔记整理和视频资源对于深入理解这些技术及其应用场景非常有价值,可以帮助开发者提升技术水平和解决实际问题的能力。
这些笔记整合涵盖了这些技术的重要面试题目,学习并理解这些知识点不仅有助于应对面试,还能提升你在实际工作中解决复杂问题的能力。深入研究每个技术的细节,例如它们的原理、最佳实践和常见问题,将使你在IT领域更...
### Solr 学习笔记:关键命令使用说明 Solr 是一个开源的、高性能的全文检索引擎,基于 Java 开发,常被用于大型网站的搜索系统。本文将围绕给定内容中的关键命令进行详细的解析,主要包括 Solr 的启动、集群管理、...
Solr学习笔记 Solr 是一种基于 Lucene 的搜索服务器,可以满足企业对搜索解决方案的需求。它支持层面搜索、命中醒目显示和多种输出格式,易于安装和配置,並且附带了一个基于 HTTP 的管理界面。 Solr 的主要特点...
在本篇Solr学习笔记中,我们将探讨Solr的分布式索引功能,这对于处理大量数据和实现高可用性至关重要。Solr的分布式索引能力允许我们跨越多个节点分布和处理索引过程,从而提高索引速度和查询性能。在实际应用中,这...
solr 学习笔记主要涵盖了 Solr 的基本安装与配置,以及 Solr 服务器复制的配置,这些都是初学者需要掌握的基础知识。 Solr 是一款基于 Lucene 的全文搜索引擎,广泛应用于大数据检索和文本分析。在安装 Solr 时,...
Solr学习笔记(三)——Solr客户端开发实例 在本文中,我们将深入探讨Solr客户端的开发,以便更好地理解如何在实际项目中利用Solr的强大功能。Solr是一款开源的全文搜索引擎,提供了高效的搜索和索引功能。通过Solr...
1.下载solr7.5.tar,拷贝到CentOS解压 2.启动solr 3.开启该端口防火墙 4.控制界面访问 5.创建一个核心(又名索引)(此处测试名称:core1) 6.配置数据库读取信息:DataImportHandler 7.重启solr在core1导入数据库...
Apache Solr 是一款基于 Lucene 的开源搜索服务器,专为企业级应用设计,提供高效、可伸缩、高可用和易维护的全文检索解决方案。Solr 强大的特性包括层面搜索、搜索结果高亮显示以及支持多种数据输出格式,如 XML、...