Solr+java实现索引库增删改查

1 了解solr的配置文件

1.1 solr的核心配置文件:solrConfig.xml

solrconfig.xml 配置文件主要定义了 solr 的一些处理规则,包括索引数据的存放 位置,更新,删除,查询的一些规则配置。​ 一般此文件不需要进行修改, 采取默认即可。

(1) field标签

主要是用来指定字段名称的, Lucene中是有用户在程序中指定, solr中需要提前在配置文件中指定

<field name="text" type="text_general" indexed="true" stored="false" multiValued="true"/>

name: 字段的名称
type: 字段的类型
indexed: 是否索引
stored: 是否保存
multiValued: 是否多值, 这个字段, 类似存储一个数组
这里有两个不允许删除的: 一个是 version_ 一个是 root_ 这两个是solr内部需要使用的字段
有一个字段的名称必须为id,其类型都不允许进行修改 原因是id字段已经被主键使用uniqueKey
其余的是一些初始化好的字段
在这里插入图片描述

(2)dynamicField标签 ,被称为是动态字段
<dynamicField name="*_is" type="int"    indexed="true"  stored="true"  multiValued="true"/>

此种标签是为程序的扩展所使用的, 因为我们不可能把所有的字段全部定义好, 所以就需要动态域来进行动态扩展。
在这里插入图片描述

(3)uniqueKey标签

必要标签, 表名文档的唯一属性, 一般默认为id

<uniqueKey>id</uniqueKey>

在这里插入图片描述

(4)copyField标签
<copyField source="cat" dest="text"/>
<copyField source="dog" dest="text"/>

source: 表名要复制那个字段的值
dest: 复制到那个字段上
此种标签主要是为了查询所使用的, 例如, 当查询Text字段的时候, 实质上相当于查询title和name两个字段

(5)fieldType标签

字段类型定义标签,此种标签是用来定义字段的类型的,可以指定此字段使用何种分词器进行分词。

<fieldType name="text_ik" class="solr.TextField">
		<analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
	</fieldType>

在这里插入图片描述

1.2 solrConfig.xml 模板

<?xml version="1.0" encoding="UTF-8" ?>


<schema name="example" version="1.5">
  
   <!-- 这个标签不能删除
   --> 
   <field name="_version_" type="long" indexed="true" stored="true"/>
 
   <field name="_root_" type="string" indexed="true" stored="false"/>

   <!--不能删除
   -->   
   
   <!--
		field: 指定solr的默认字段的, lucene中字段手动的定义,solr中提前定义好
			name : 字段的名称
			type : 字段的类型
			indexed :  是否索引(是否分词)
			stored : 是否保存
			required : 是否是必须的
			multiValued :  是否是多值(当前这个字段的类似是数组)
			
		id字段: id字段是文档的唯一标识, lucene中, 文档的唯一字段由lucene自己进行维护
			solr中, id字段需要由程序员自己进行维护, 保证id唯一, 如果不唯一, 就会将原有的数据给覆盖掉
			
   -->
   <field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" /> 
    
   <field name="name" type="text_ik" indexed="true" stored&
  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值