【Solr 5.1系列】Apache Solr 5.1参考指南(二)动态字段
来源:互联网 发布:数据库器 编辑:程序博客网 时间:2024/05/12 05:06
*****小白一枚,若您有高效的翻译工具,麻烦在评论中推荐给我,万分感谢!*****
*****本人技术、翻译水平有限,此译文仅做参考!翻译时没有严格遵循原文思路和表达方式,见谅!*****
英文原文链接:http://archive.apache.org/dist/lucene/solr/ref-guide/apache-solr-ref-guide-5.1.pdf
动态字段Dynamic Field
动态字段允许Solr索引你在模式(schema)中没有明确定义的字段(field)。如果你发现你忘了定义一个或多个字段,那么动态字段就派上用场了。动态字段可以让你的应用比较健壮。
动态字段除了名称中带有一个通配符,其他都和常规的字段一样。当你索引文档时,如果一个字段没有匹配到任何明确定义的字段,那么可以尝试和动态字段进行匹配。
举个例子,假设你的模式中包含一个名称为*_i的动态字段。如果你试图索引一篇有cost_i字段的文档,但是在模式中没有明确定义cost_i字段,那么cost_i字段会匹配动态字段*_i,并拥有动态字段*_i定义的字段类型和分析器。
和常规的字段一样,动态字段有名称,字段类型和可选项
<dynamicField name="*_i" type="int" indexed="true" stored="true"/>推荐你像上面那样,在schema.xml文件中包含基本的动态字段映射。这些映射很有用。
【补充】http://wiki.apache.org/solr/SchemaXml#Dynamic_fields
Lucene强大的特性之一就是当你第一次创建索引的时候,不需要提前定义好每个字段。虽然Solr为字段提供了很强大的数据类型,但是依然保留了使用“动态字段”的灵活性。如果使用<dynamicField>声明进行定义字段规则,那么当(文档中的)一个字段名称(在模式中)没有明确定义,但是匹配(模式中)某个动态字段的前缀或者后缀时,Solr可以通过这个动态字段定义的字段规则,理解应该使用哪种数据类型。
举个例子,下面这个动态字段声明告诉Solr,不管什么时候,当它看见(文档中)一个字段的名称以“_i”结尾,并且这个字段(在模式中)没有明确定义,那么应该用这个字段的名称动态创建一个整型类型的字段。
<dynamicField name="*_i" type="integer" indexed="true" stored="true"/>在这个name属性中,类似glob通配符匹配模式只能在开头或者结尾有一个星号“*”。更长的模式会先被匹配。如果相同大小的模式同时可以匹配,那么会使用在模式(schema)中第一个出现的。
- 【Solr 5.1系列】Apache Solr 5.1参考指南(二)动态字段
- 【Apache Solr系列】Solr QueryElevationComponent--实现竞价排名(手动干预)
- Apache Solr 剖析系列(1)
- Solr使用入门指南 (二)
- 【Apache Solr系列之二】Apache Solr 4.5.1及MYSQL数据增量索引
- 玩转大数据系列之Apache Pig如何与Apache Solr集成(二)
- solr系列二:solr导入数据库数据
- Apache Solr初体验二
- solr指南
- Build Apache Gora with Solr 5.1.0
- Build Apache Nutch With Solr 5.1.0
- Apache Solr
- apache solr
- apache+solr
- Apache Solr
- solr简介(二)
- solr笔记(二)
- solr之dynamicField动态字段的使用
- OpenSSL
- 游承超:手机钢化膜生产商为生活带来的巨大变化(29P)
- windows-win7编译openssl-1.0.2a
- Node.js 里的 process.nextTick()
- 第五章 面向对象的编程风格(定义一个抽象基类)
- 【Solr 5.1系列】Apache Solr 5.1参考指南(二)动态字段
- 格式化粗理解
- 自制45度2D引擎之坐标转换更新版
- 分享几种Linux软件的安装方法
- 通过java导入csv文件到oracle(mysql)数据库
- Hbase常用命令行总结
- 对称加密、非对称加密和散列计算的简单总结
- Android IntentFilter 匹配原则浅析
- DTree的学习与使用 Dtree点击展开获取json数据