老鬼的博客 来都来啦,那就随便看看吧~
solr篇五:对db_core进行联合索引做分词器
发布于: 2019-12-07 更新于: 2023-11-08 分类于:  阅读次数: 

一:相关参考文档

二:介绍

1
2
前四篇已经介绍了如何下载安装和创建使用core,以及从sqlserver数据库同步数据,这一篇介绍如何
做分词并作联合索引查询。

三:步骤如下

3.1 概览

1
2
3
4
1.修改managed-schema文件
2.重启solr服务
3.重新import数据,生成索引
4.查询

3.2 修改managed-schema文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<!-- 定义分词器的类型,这里引入的是IKAnalyzer中文分词器 -->
<fieldType name="text_ik" class="solr.TextField">
<analyzer type="index" useSmart="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
<analyzer type="query" useSmart="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>

<!-- 添加索引字段 (renjie) -->
<uniqueKey>id</uniqueKey>
<field name="name" type="string" indexed="true" stored="true" />
<field name="sex" type="string" indexed="true" stored="true" />
<field name="mobile" type="string" indexed="true" stored="true" />
<field name="email" type="string" indexed="true" stored="true" />
<field name="address" type="string" indexed="true" stored="true" />
<field name="briefInfo" type="text_ik" indexed="true" stored="true" />
<field name="detailInfo" type="text_ik" indexed="true" stored="true" />
<field name="insertTime" type="pdate" indexed="true" stored="true" />
<field name="updateTime" type="pdate" indexed="true" stored="true" />
<!-- 索引复制,联合索引,这句话的意思就是搜索keyword时会搜索briefInfo和detailInfo两个字段 -->
<field name="keyword" type="text_ik" indexed="true" stored="true" omitNorms="true" multiValued="true"/>
<copyField source="id" dest="keyword" maxChars="30000"/>
<copyField source="briefInfo" dest="keyword" maxChars="30000"/>
<copyField source="detailInfo" dest="keyword" maxChars="30000"/>
<!-- end -->

3.3 重启solr服务

1
2
1. solr stop -all
2. solr start

3.4 重新import数据,生成索引

3.5 查询

solr篇4.1:Solr查询参数

*************感谢您的阅读*************