文档章节

Solr4.7---Field、CopyField、DynamicField

一枚Sir
 一枚Sir
发布于 2014/04/21 09:24
字数 685
阅读 725
收藏 1

Field:

   Field就是一个字段,定义一个Field很简单:


基本上属性也和FieldType类似,他的属性会覆盖掉FieldType的同名属性。


CopyField(本段内容直接从solr中文网copy而来):

      

你可能想让document的一些字段可以多次使用。solr 有一个字段复制机制,可以提交多个不同类型字段集中到一个字段。字段复制主要涉及两个概念,source和destination,一个是要复制的字段,另一个是要复制到哪个字段,以下是个例子:

1
<     copyField     source     =     "cat"     dest     =     "text"     maxChars     =     "30000"     />

上例中,如果text字段有数据的话,cat字段的内容将被添加到text字段中。maxChars 参数,一个int类型参数,用于限制复制的字符数。

source和destination都支持通配符。以下是一个将所有以 _t 结尾的字段全部复制到text字段中。

1
<     copyField     source     =     "*_t"     dest     =     "text"     maxChars     =     "25000"     />


    其实说的简单一点,比如现在你要查询包涵"Java"的博客, 那么你肯定要查内容,标题是否包含Java,但是solr不能像SQL那样,where tittle like '%Java%'  or  content like '%Java%'.   这个时候copyField就派上用场了, 定义一个新字段,将title和content 复制到这个新字段,索引的时候,直接从这个新字段查询,这样就达到目地了。  这便是copyField的典型应用场景 。注意:如果dest由多个source构成,就需要将其指定为multiValued。

在网上找了一个例子:

<schema name="eshequn.post.db_post.0" version="1.1"  
    xmlns:xi="http://www.w3.org/2001/XInclude">  
     <fields>  
        <!-- for title -->  
        <field name="t" type="text" indexed="true" stored="false" />  
        <!-- for abstract -->  
        <field name="a" type="text" indexed="true" stored="false" />  
        <!-- for title and abstract -->  
        <field name="ta" type="text" indexed="true" stored="false" multiValued="true"/>  
    </fields>  
    <copyField source="t" dest="ta" />  
    <copyField source="a" dest="ta" />  
</schema>

DynamicField:

   

动态字段(Dynamic fields)允许 solr 索引没有在 schema 中明确定义的字段。这个在忘记定义一些字段时很有用。动态字段可以让系统更灵活,通用性更强。

动态字段和常规字段类似,除了它名字中包含一个通配符外,在索引文档时,一个字段如果在常规字段中没有匹配时,将到动态字段中匹配。

假设schema中定义了一个叫*_i的动态动态字段,如果要索引一个叫 cost_i 的字段,但是 schema 中不存在 cost_i 的字段,这样 cost_i  将被索引到 *_i 字段中。

动态字段也是定义在 schema.xml 文件中,和其他字段一样,它也有个名词,字段类型,和属性。

1
<     dynamicField     name     =     "*_i"     type     =     "sint"     indexed     =     "true"     stored     =     "true"     />

建议在 schema.xml 定义一些基本的动态字段,以备扩展之用。

© 著作权归作者所有

上一篇: Solr4.7---synonyms
一枚Sir
粉丝 119
博文 209
码字总数 350904
作品 0
朝阳
架构师
私信 提问
加载中

评论(1)

geek_light
geek_light
我刚刚开始学习solr,很不错的搜索引擎
Solr配置文件:schema.xml

Solr配置文件:schema.xml http://www.blogjava.net/conans/articles/379545.html 一、字段配置(schema) schema.xml位于solr/collection1/conf/目录下,类似于数据表配置文件, 定义了加入...

一枚Sir
2014/04/14
1K
0
关于solr schema.xml 和solrconfig.xml的解释

一、字段配置(schema) schema.xml位于solr/conf/目录下,类似于数据表配置文件, 定义了加入索引的数据的数据类型,主要包括type、fields和其他的一些缺省设置。 1、先来看下type节点,这里...

翊骷
2014/09/01
128
0
关于solr schema.xml 和solrconfig.xml的解释

一、字段配置(schema) schema.xml位于solr/conf/目录下,类似于数据表配置文件, 定义了加入索引的数据的数据类型,主要包括type、fields和其他的一些缺省设置。 1、先来看下type节点,这里...

David_Tio
2014/02/13
277
0
SOLR 中 Schema.xml 的filedType 的一些属性的理解

dynamicField 的作用是什么? 如果你需要在schema.xml文件中的<field> ......</field>部分定义多个<field>(mathscore,chinesescore,english_score,....),而恰好这些<field>的type属性又相......

翊骷
2014/09/01
404
0
Field、CopyField、DynamicField的一些简介,用法

Field: Field就是一个字段,定义一个Field很简单: <field name="price" type="sfloat" indexed="true" stored="true"/> 基本上属性也和FieldType类似,他的属性会覆盖掉FieldType的同名属性......

翊骷
2014/08/28
102
0

没有更多内容

加载失败,请刷新页面

加载更多

Android 图片加载带进度条的ImageView

https://blog.csdn.net/shu_quan/article/details/79975578

shzwork
19分钟前
7
0
关于XAMPP默认端口80 和443被占用的问题

本文转载于:专业的前端网站➩关于XAMPP默认端口80 和443被占用的问题 关于安装xampp-win32-1.8.1-VC9-installer.zip后启动时候报端口80和443被占用的问题解决 xampp-win32-1.8.1-VC9-instal...

前端老手
21分钟前
6
0
错误Setting the parent of a transform which resides in a Prefab Asset is...

错误日志 Setting the parent of a transform which resides in a Prefab Asset is disabled to prevent data corruption 原因1 用Resouce.Load加载一个prefab,没有实例化直接设置parent ......

XBlock
22分钟前
9
0
Spring boot 配置mybatis

当然任何模式都需要首先引入mybatis-spring-boot-starter的pom文件,现在最新版本是1.1.1(刚好快到双11了 :)) <dependency>    <groupId>org.mybatis.spring.boot</groupId>    <......

雷开你的门
22分钟前
9
0
云栖干货回顾 | 更强大的实时数仓构建能力!分析型数据库PostgreSQL 6.0新特性解读

阿里云 AnalyticDB for PostgreSQL 为采用MPP架构的分布式集群数据库,完备支持SQL 2003,部分兼容Oracle语法,支持PL/SQL存储过程,触发器,支持标准数据库事务ACID。AnalyticDB PG通过行存...

开源中国小二
34分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部