博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Lucene是如何理解文档的 & 文档类型(Types)是如何被实现的
阅读量:6390 次
发布时间:2019-06-23

本文共 594 字,大约阅读时间需要 1 分钟。

hot3.png

Lucene是如何理解文档的

在Lucene中,一份文档(Document)由一系列简单的字段-值(field-value)对组成。一个字段必须有值,同时允许包含多值。同样的,一个单一的字符串在分析处理过程中可能被转换成多个值。Lucene不关心值到底是字符串、数字还是日期——所有的值都以不可理解的比特值(opaque)对待。

当我们在Lucene中索引一份文档时,值和字段在反向索引(inverted index)中被关联起来。可选项的是,是否将原始值存储起来以便今后使用,存储后的值是不可更改的。

文档类型(Types)是如何被实现的

Elasticsearch的类型实现在简单的基础设施之上。一个索引可能存在多种类型,每种类型都有自己的mapping(类型数据库的schema)。同时同一类型下的每份文档都被存储在相同的索引里。

由于Lucene没有文档类型的概念,文档的类型名被存储在文档的一个被称为_type的元数据中。当我们在搜索某种类型的文档,Elasticsearch只是简单地使用该类型的值在_type字段上进行过滤。

Lucene也没有mapping的概念。Mapping是Elasticsearch的一个层,将复杂的JSON文档映射到Lucene能处理的简单的扁平的文档。

转载于:https://my.oschina.net/zjzhai/blog/509015

你可能感兴趣的文章
JavaMelody应用监控使用指南
查看>>
我的MYSQL学习心得(六) 函数
查看>>
Swift开发:仿Clear手势操作(拖拽、划动、捏合)UITableView
查看>>
electron版本的串口调度助手
查看>>
使用 jetty-maven-plugin发布maven项目
查看>>
python经典问题在stack overflow上的回答
查看>>
osg 改变模型贴图
查看>>
Web图形开发,SVG还是VML?
查看>>
较全的jdom使用教程
查看>>
并发基础(一):Executor
查看>>
关于autorelease pool一个较好的理解
查看>>
goaccess在定时任务中不执行的问题
查看>>
Flex警告:framework.swc”具有默认样式并且在 library-path 中,表...
查看>>
2.easyui 控件取值方式
查看>>
链表的创建和遍历
查看>>
codewars047: 街头霸王2
查看>>
oc 自定义导航栏背景
查看>>
electron 利用 electron-builder实现自动更新
查看>>
wordpress文章发布接口开发
查看>>
浅谈java中的四个核心概念【转】
查看>>