文章分类 - elasticsearch
摘要:全文检索 全文检索最重要的两个方面是 相关度(Relevance) 根据文档与查询的相关程度对结果集进行排序的能力。相关度可以使用TF/IDF、地理位置相近程度、模糊相似度或其他算法计算。 分析(Analysis) 将一段文本转换为一组唯一的、标准化了的标记(token),用以(a)创建倒排索引,(
        阅读全文
            
摘要:结构化搜索 查询包含内部结构的数据,日期,时间,和数字都是结构化的;可以执行逻辑操作; 文本也可以格式化; 结构化搜索不关心文档的相关性或分数,它只是简单的包含或排除文档 一. 查找准确值 使用过滤器,非常的快,不计算相关性,很容易被缓存 用于数字的 term 过滤器 这个过滤器旨在处理数字,布尔值
        阅读全文
            
摘要:深入分片 一. 使文本可以被搜索 想要让文本中的每个单词都可以被搜索,这意味这数据库需要存多个值 支持一个字段多个值的最佳数据结构是倒排索引 文档加入了倒排索引 每一个JSON文档中被索引的字段都有它自己的倒排索引 倒排索引存储了比包含了一个特定term的文档列表多地多的信息。它可能存储包含每个te
        阅读全文
            
摘要:索引管理 一. 创建索引 创建时做到 确保索引被创建在适当数量的分片上 在索引数据之前设置好分析器和类型映射 在请求加入所有设置和类型映射 可以通过在 config/elasticsearch.yml 中添加下面的配置来防止自动创建索引 索引模板自动预先配置索引,可以将日志数据索引在一个以日期结尾的
        阅读全文
            
摘要:两个阶段:查询+取回 一. 查询阶段 在初始化查询阶段(query phase),查询被向索引中的每个分片副本(原本或副本)广播; 每个分片在本地执行搜索并且建立了匹配document的优先队列(priority queue。 优先队列存储的topn,这个优先队列的大小由分页参数from和size决
        阅读全文
            
摘要:一. 相关性排序 查询语句中,结果集会按照_score降序排列; 过滤语句与_score没有关系,包含隐含的match_all条件,所有的_score默认为1; 使用sort参数,对结果按照具体的字段排序 结果如下: 可以发现: _score 字段没有经过计算,因为它没有用作排序 date 字段被转
        阅读全文
            
摘要:一. 请求体查询 request body search API,参数为json格式 空查询 空查询将会返回索引中所有的文档 同字符串查询一样,你可以查询一个,多个或_all索引(indices)或类型(types) 你可以使用from及size参数进行分页 GET请求中携带数据了,有些HTTP服务
        阅读全文
            
摘要:映射和分析 映射(mapping)用于进行字段类型确认,将每个字段匹配为一种确定的类型,如string, number, booleans, date等; 分析(analysis)用于进行全文文本(Full Text)的分词,以建立供搜索用的反向索引。 一. mapping 什么是mapping 声
        阅读全文
            
摘要:搜索 基本的工具 搜索可以实现 在类似于gender或者age这样的字段上使用结构化查询,join_date这样的字段上使用排序,就像SQL的结构化查询一样。 全文检索,可以使用所有字段来匹配关键字,然后按照关联性(relevance)排序返回结果。 或者结合以上两条。 需要理解三个概念 |概念	|
        阅读全文
            
摘要:elasticsearnch数据 对象序列化为json,称为json文档 es存储并检索序列化的JSON文档 es中每一个字段的数据都是默认被索引的,每个字段专门有一个反向索引用于快速检索,可以在同一个查询中利用所有的这些反向索引 一. 文档 json对象 键(key)是字段(field)或属性(p
        阅读全文
            
摘要:分布式增删改查 一. 分片算法 routing 值是一个任意字符串,它默认是 _id 但也可以自定义 number_of_primary_shards主分片数量 得到的结果在0 到 number_of_primary_shards 1 之间,这个就是分片号 所有的API(get 、 index 、 
        阅读全文
            
摘要:elasticsearnch分布式集群 纵向扩展 横向扩展 一. 空集群 node和cluster 单独的节点,它还没有数据和索引 一个节点(node)就是一个Elasticsearch实例 个集群(cluster)由一个或多个节点组成 它们具有相同的cluster.name 添加或者删除集群会自动
        阅读全文
            
摘要:elasticsearnch入门 一. 是什么 隐藏Lucene复杂性,简单的RESTful API Lucene和全文搜索 分布式的实时文件存储,每个字段都被索引并可被搜索 分布式的实时分析搜索引擎 可以扩展到上百台服务器,处理PB级结构化或非结构化数据 二. 安装 Marvel管理和监控 运行e
        阅读全文
            
 
                    
                     
                    
                 
                    
                
 
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号