Solr配置文件 schema.xml
1 添加自己的分词器(mmseg4j)
意思是textCommplex 这个类型,用的是 com.chenlb.mmseg4j.solr.MMSegTokenizerFactory 这个分词器,词库是用到的solr.home目录下面的dic目录, 但是mmseg4j.jar 1.9 把词库包进去了,想要用外面的,需要把里面的删除掉, <filter class="solr.LowerCaseFilterFactory"/> 下面可选择性的添加一些自己的过滤器
<fieldType name="textComplex" class="solr.TextField" positionIncrementGap="100" >
<analyzer>
<tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="dic"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType> <fieldType name="textMaxWord" class="solr.TextField" positionIncrementGap="100" >
<analyzer>
<tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="max-word" dicPath="dic"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
<fieldType name="textSimple" class="solr.TextField" positionIncrementGap="100" >
<analyzer>
<tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="simple" dicPath="dic"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
2 添加自己的字段
name:字段名称 type:字段类型 indexed:是否索引 stored:是否存储 multiValued:是否是多值
| NOT_ANALYZED_NOT_NORMS | YES | 标识符(主键、文件名),电话号码,身份证号,姓名,日期 |
| ANAYLZED | YES | 文档标题和摘要 |
| ANAYLZED | NO | 文档正文 |
| NO | YES | 文档类型,数据库主键(不进行索引) |
| NOT_ANALYZED | NO | 隐藏关键字 |
Field.Store.*
YES:将会存储域值,原始字符串的值会保存在索引,以此可以进行相应的恢复操作,对于主键,标题可以是这种方式存储
NO:不会存储域值,通常与Index.ANAYLIZED合起来使用,索引一些如文章正文等不需要恢复的文档 使用Field.Index.*来进行操作
Index.ANALYZED:进行分词和索引,适用于标题、内容等
Index.NOT_ANALYZED:进行索引,但是不进行分词,如果身份证号,姓名,ID等,适用于精确搜索
Index.ANALYZED_NOT_NORMS:进行分词但是不存储norms信息,这个norms中包括了创建索引的时间和权值等信息
Index.NOT_ANALYZED_NOT_NORMS:即不进行分词也不存储norms信息
Index.NO:不进行索引
<field name="msg_title" type="textComplex" indexed="true" stored="true" multiValued="false" />
<field name="msg_content" type="textComplex" indexed="true" stored="false" multiValued="false" />
<field name="msg_text" type="textComplex" indexed="true" stored="false" multiValued="true" />
3 合并字段
把msg_title he msg_content 都拷贝到msg_text 中, 这是上面 field msg_text 的 multiValued 字段就必须为 true
<copyField source="msg_title" dest="msg_text"/>
<copyField source="msg_content" dest="msg_text"/>
4 设置默认搜索字段
在schema.xml 中把注释这个打开进行修改,但是并不生效,因为 Un-commenting defaultSearchField will be insufficient if your request handler in solrconfig.xml defines "df", which takes precedence. That would need to be removed. <defaultSearchField>text</defaultSearchField> 在 solrconfig.xml 中也有这个配置,而且优先级更高,所以要让这个生效,必须把 <str name="df">text</str> 这个删除了 <lst name="defaults">
<str name="echoParams">explicit</str>
<int name="rows">10</int>
<str name="df">text</str>
</lst>
5 过滤器
1 停用词过滤器,就是哪些词忽略掉,参考stopwords.txt (eg:a an and are as at be but) <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" /> 2 同义词过滤器,就是哪些词是一个意思,参考synonyms.txt(eg: pixima => pixma) <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/> 3 转小写过滤器
<filter class="solr.LowerCaseFilterFactory"/>
6 动态字段
意识字段名称以_i结尾的,在名称匹配不到的情况下,就来匹配动态字段这个,那么就是int类型(eg:xxoo_i 找不到<Field name="xxoo"> 的情况) <dynamicField name="*_i" type="int" indexed="true" stored="true"/>
Solr配置文件 schema.xml的更多相关文章
- Solr中Schema.xml中文版
<?xml version="1.0" encoding="UTF-8" ?> <!-- Licensed to the Apache Sof ...
- Solr入门之(5)配置文件schema.xml
该配置文件中的标签:<fileTypes>.<fields>.<uniqueKey>.<copyField> fieldType说明 标签types中定 ...
- solr的schema.xml配置属性解释
schema.xml做什么? SOLR加载数据,创建索引和数据时,核心数据结构的配置文件是schema.xml,该配置文件主要用于配置数据源,字段类型定义,搜索类型定义等.schema.xml的配置直 ...
- 认识配置文件schema.xml(managed-schema)
1.schema文件是在SolrConfig中的架构工厂定义,有两种定义模式: 1.1.默认的托管模式: solr默认使用的就是托管模式.也就是当在solrconfig.xml文件中没有显式声明< ...
- Mycat配置文件schema.xml参数配置
Mycat原理: Mycat的原理中最重要的一个动词是"拦截",它拦截了用户发送过来的SQL语句,首先对SQL语句做了一些特定的分析:如分片分析.路由分析.读写分离分析.缓存分析等 ...
- Solr中schema.xml的解释
接Solr-4.10.2与Tomcat整合.schema.xml位于D:\solr\data\solr\collection1\conf\中.1.fieldType节点 name: FieldT ...
- Mycat 配置文件schema.xml
1.介绍 schema.xml 作为 MyCat 中重要的配置文件之一,管理着 MyCat 的逻辑库.表.分片规则. DataNode 以及 DataSource. 2.schema相关标签 sche ...
- solr的schema.xml配置文件关键词意义
fieldType:配置扩展的分析器analyzer:具体的分析器的全路径field:配置具体的索引业务字段name:字段的名称type:指定使用哪种分析器域:StringField,textFiel ...
- solr 6.0 没有schema.xml未自动创建schema文件
solr 6.0 没有schema.xml未自动创建schema文件 摘要:在之前的Solr版本中(Solr5之前),在创建core的时候,Solr会自动创建好schema.xml,但是在之后的版本中 ...
随机推荐
- arcserver开发小结(二)
一.关于服务器上下文 1,服务器上下文(ServerContext)本质上是一个GIS服务器上的进程,它是服务器端编程的起点. 2,只有本地资源才能得到服务器上下文,通常得到服务器上下文的主线是: M ...
- 【Android发展】它Fragment发展1
一直知道Fragment非常强大.可是一直都没有去学习,如今有些空暇的时间,所以就去学习了一下Fragment的简单入门.我也会把自己的学习过程写下来,假设有什么不足的地方希望大牛指正,共同进步. 一 ...
- [转] css3制作图形大全
Square #square { width: 100px; height: 100px; background: red; } Rectangle #rectangl ...
- 嵌入式Linux开发环境的搭建
一个.制造u-boot.bin文件: tar xjf u-boot-1.1.6.tar.bz2 cd u-boot-1.1.6 patch -p1 < ../u-boot-1. ...
- telerik ChartGrid浅谈
在最近接触的项目中,有很多都是以Chart图表的方式呈现出来的,关于telerik Chart的使用,有几个小点跟大家分享一下. 1:本例子使用的Chart的命名空间为 xmlns:telerik=h ...
- 基于Spring开发
1. XML Schema 1.1 最简单的标签 一个最简单的标签,形式如: <bf:head-routing key="1" value="1" to= ...
- 图像滤镜艺术---Swirl滤镜
原文:图像滤镜艺术---Swirl滤镜 Swirl Filter Swirl 滤镜是实现图像围绕中心点(cenX,cenY)扭曲旋转的效果,效果图如下: 原图 效果图 代码如下: // ...
- mfc开发an unsupported operation was attempted错误解决
mfc开发删除了一个控件后,没有删除该控件对应的id和代码导致 觉得mfc真xx 在资源编辑可视化界面手动删除一个控件后,resource.h里该控件的ID竟然还存在 因为该id还存在,调用该控件的代 ...
- SQLServer2005数据库快照的简单使用
原文:SQLServer2005数据库快照的简单使用 SQLServer2005数据库快照的简单使用 ...
- C#获取字符串宽度像素
通过Graphics对象的MeasureString方法可以获取字符串的大小,如下: Graphics graphics = CreateGraphics(); SizeF sizeF = graph ...