ES中put 新增 post 修改
Kibana开发工具,用来往ES引擎中对文档进行操作和生成文档的对应索引的
ik_max_word最细密度的拆分文本,会穷尽各种组合,适用于Term Query
ik_smart最粗密度的拆分文本,适合Phrase查询
文档经过ik分词器生成倒排索引 (字符串两种text类型分词,keyword不分词(barcode条码))
ik分词器有自己的词典存有百万计的中文词,分出的词段与字典匹配,字典有就保留
索引(是具有实现关键词-文档矩阵的具体数据结构的数据)(里面存储着各种具体储存类型的索引)
索引可进行分片存储在多个服务器上,提高效率,分片可以行成副本,以防止服务器宕机导致搜索数据不全,副本可以是n个,是根据服务器的多少,和自身需求来定(一般就两三个 ),一个分片的副本在其他服务器上每个只有一份
put创建索引,实质put请求http ,其实索引生成器有两步操作,其实put(新增)请求上面的路径是在往url里添加文档原始数据,put/products/Id这个id就是这个文档id, 还有索引生成器对提交的文档创建相应的索引,索引id就是文档id
索引库:储存搜索引擎抓取到的相应的资源(文档等) 还有索引
正向索引: 当用户发起查询时(假设查询为一个关键词),搜索引擎会扫描索引库中的所有文档,找出所有包含关键词的文档,这样依次从文档中去查找是否含有关键词的方法叫做正向索引。
正向索引数据的数据结构:文档id->关键词
倒排索引(反向索引 )(Inverted Index): 倒排索引数据的数据结构是 关键词->文档或者网页id的矩阵的具体数据结构,是关键词-文档矩阵的具体存储结构之一
倒排索引由"词典"和倒排文件组成,根据词典中的关键词获取相应的倒排列表
词典(Lexicon): 搜索引擎的通常索引单位是单词,单词词典是由文档集合中出现过的所有单词构成的字符串集合,单词词典内每条索引项记载单词本身的一些信息以及指向“倒排列表”的指针。(存在于内存中)
倒排列表(PostingList):倒排列表记载了出现过某个单词的所有文档的文档列表及单词在该文档中出现的位置信息,每条记录称为一个倒排项(Posting)。根据倒排列表,即可获知哪些文档包含某个单词。
倒排文件(Inverted File):所有单词的倒排列表往往顺序地存储在磁盘的某个文件里,这个文件即被称之为倒排文件,倒排文件是存储倒排索引的物理文件。
倒排列表中除了存储文档Id外还有TF(term frequency): 单词在文档中出现的次数。Pos: 单词在文档中出现的位置。(倒排列表(DocID;TF;<Pos>))
文档(document):一般搜索引擎的处理对象是互联网网页,而文档这个概念要更宽泛些,代表以文本形式存在的存储对象,相比网页来说,涵盖更多种形式,比如Word,PDF,html,XML等不同格式的文件都可以称之为文档。
文档集合(document Collection):由若干文档构成的集合称之为文档集合。比如海量的互联网网页或者说大量的电子邮件都是文档集合的具体例子。
文档编号(document ID(Doc ID)):在搜索引擎内部,会将文档集合内每个文档赋予一个唯一的内部编号,以此编号来作为这个文档的唯一标识,这样方便内部处理,每个文档的内部编号即称之为“文档编号”,后文有时会用DocID来便捷地代表文档编号。es中文档编号就是文档创建对应的索引编号,
单词编号(Word ID):与文档编号类似,搜索引擎内部以唯一的编号来表征某个单词,单词编号可以作为某个单词的唯一表征。
词条:一段文本中有效词的子序列,其中每个子序列称为一个词条。(文本词条化,去掉停用词)(就是关键词)
词条类:相同词条构成的集合。
词项:一个词项指的是在信息检索系统词典中所包含的某个可能经过归一化处理的词条类。(词项集合和词条集合可以完全不同,比如可以采用某一个分类体系中的类别标签作为词项。当然,在实际的信息检索系统中,词项往往和词条密切相关)