solr

elastic search分布式⼯作原理

无人久伴 提交于 2020-05-05 12:49:16
1.说明   Elasticsearch 是分布式的,但是对于我们开发者来说并未过多的参与其中,我们只需启动对应数量的节点,并给它们分配相同的 cluster.name 让它们归属于同⼀个集群,创建索引的 时候只需指定索引主分⽚数和 副分⽚数 即可,其他的都交给了 ES 内部⾃⼰去实现。   这和数据库的分布式和 同源的 solr 实现分布式都是有区别的,数据库要做集群分布式,⽐如 分库分表需要我们指定路由规则和数据同步策略等,包括读写分离,主从同步等,solr的分布 式也需依赖 zookeeper,但是 Elasticsearch 完全屏蔽了这些。   虽然Elasticsearch 天⽣就是分布式的,并且在设计时屏蔽了分布式的复杂性,但是我们还得知道它内部的原理。 2.写入文档      1、客户端向node-1发送新增⽂档请求。    2、节点通过⽂档的路由算法确定该⽂档属于主分⽚-P0。因为主分⽚-P0在node-3,所以请求会转 发到node-3。   3、⽂档在node-3的主分⽚-P0上新增,新增成功后,将请求转发到node-1和node-2对应的副分 ⽚-R0上。⼀旦所有的副分⽚都报告成功,node-3向node-1报告成功,node-1向客户端报告成 功。 3.读文档   1.客户端向node-1发送读取⽂档请求。   2.在处理读取请求时,node

elasticsearch系列五:搜索详解(查询建议介绍、Suggester 介绍)

醉酒当歌 提交于 2020-05-03 20:36:51
一、查询建议介绍 1. 查询建议是什么? 查询建议,为用户提供良好的使用体验。主要包括: 拼写检查; 自动建议查询词(自动补全) 拼写检查如图: 自动建议查询词(自动补全): 2. ES中查询建议的API 查询建议也是使用_search端点地址。在DSL中suggest节点来定义需要的建议查询 示例1:定义单个建议查询词 POST twitter/_search { "query" : { "match": { "message": "tring out Elasticsearch" } }, "suggest" : { <!-- 定义建议查询 --> "my-suggestion" : { <!-- 一个建议查询名 --> "text" : "tring out Elasticsearch", <!-- 查询文本 --> "term" : { <!-- 使用词项建议器 --> "field" : "message" <!-- 指定在哪个字段上获取建议词 --> } } } } 示例2:定义多个建议查询词 POST _search { " suggest ": { " my-suggest-1 " : { "text" : "tring out Elasticsearch", "term" : { "field" : "message" } }, " my-suggest-2 "

solr与.net系列课程(五)solrnet的使用

喜夏-厌秋 提交于 2020-05-03 17:39:06
solr与.net系列课程(五)solrnet的使用 最近因项目比较忙,所以这篇文章出的比较晚,离上一篇文章已经有半个月的时间了,这节课我们来学下一下solr的.net客户端solrnet 出处 https://github.com/mausch/SolrNet 上一篇文章讲述了C#是如何请求和接受solr的数据的,请求链接是自己拼接的,接受数据是使用数据契约,solrnet就是把这些步骤封装起来,大家直接调用方法就可以请求和接受数据 首先要下载solrnet所要使用的DLL Microsoft.Practices.ServiceLocation.dll SolrNet.dll HttpWebAdapters.dll 下载地址 http://pan.baidu.com/s/1pJt7Wr5 创建一个项目,然后引用上面的DLL 好了,下面就开始实战, 我们来设计一个查询条件 title="关键字" and (area="北京" or area="上海") and industry="电力" and columns="项目" order time desc (1)创建一个接收数据的实体类,内容如下 using System; using System.Collections.Generic; using System.Linq; using System.Web; using

Solr学习总结(五)SolrNet的基本用法及CURD

霸气de小男生 提交于 2020-05-02 07:42:17
  上一篇已经讲到了Solr 查询的相关的参数。这里在讲讲C#是如何通过客户端请求和接受solr服务器的数据, 这里推荐使用SolrNet,主要是:SolrNet使用非常方便,而且用户众多,一直都在更新,感兴趣的可以加入他们的邮件群组,方便迅速了解SolrNet的最新动态。   SorlNet源码地址: https://github.com/mausch/SolrNet   SolrNet使用说明文档: https://github.com/mausch/SolrNet/tree/master/Documentation   一、创建一个项目控制台程序,并引用SolrNet.dll。 Demo下载        注意:SolrNet 依赖HttpWebAdapters.dll和Microsoft.Practices.ServiceLocation.dll 这两个dll 文件,所以,如果编译或者测试有问题,引用这两个dll 文件应该就ok了。   二、在solr 的schema.xml 增加相关的Filed 字段,同时创建一个实体类,与schema.xml中的Filed 字段映射。    public class Product { [SolrUniqueKey( " id " )] public int id { get ; set ; } [SolrField( " name "

什么是云数据库 HBase 版

坚强是说给别人听的谎言 提交于 2020-05-01 03:00:19
云数据库 HBase 版 (ApsaraDB for HBase)是基于 Hadoop 的一个分布式数据库,支持海量的PB级的大数据存储,适用于高吞吐的随机读写的场景。目前在阿里内部有数百个集群,10000台左右规模的集群,服务数百个业务线,在订单存储、消息存储、物联网、轨迹、wifi、安全风控、搜索等领域有较多的在线应用。 阿里云特别提供HBase产品化方案服务广大的中小型客户。 精心打造的功能 产品内核及架构深度优化 架构高可用,集群可无限扩展,内核深度优化 架构高可用 高可用架构,Master互为主备模式,且HA实时检测,保障业务高可靠;core节点故障时,region可秒级切换 集群弹性扩展 单core节点提供最高10万QPS、最高8T存储空间;磁盘及节点可灵活扩容,可轻松扩展到千台规模,满足千万级QPS及数PB存储空间 低延迟 SSD存储满足0.2k单条 999延迟3ms 平均延迟1ms 内核深度优化 集团HBase规模超过万台,多位PMC、Committer保驾护航 数据备份 支持HBase集群数据备份及恢复 HBase低成本存储 支持HBase低成本存储,存储成本降低50%以上 双集群容灾 支持HBase双集群容灾 构建领域数据库满足多种场景需求 支持SQL、时序、时空、图、检索等诉求 支持实时小对象存储 满足10M以内的对象实时存储,实时访问 支持SQL

Indexing in Apache Solr of all files contained in a folder and its subfolders

荒凉一梦 提交于 2020-04-30 07:35:56
问题 Can Apache Solr be used to index all the files of a folder(Parent) and its subfolders, containing files of all types: XML, .json, .pdf,.doc etc..? 回答1: Using post tool can be done java -Dc=test -Drecursive -Dauto -jar post.jar folder -Dauto for all file types that solr can handle -Dc to specify collection name -Drecursive to handle if folder has files inside subfolder. if folder has has subfolder it will index files inside subfolder 回答2: You need to use a Data Import Handler to achieve that .

Solr DIH showing data import successfull but no docs retrieved via query

徘徊边缘 提交于 2020-04-30 06:39:34
问题 I am using the SolrEntityProcessor in my DIH config to reindex data from one collection to another. Here is my DIH config for the same <dataConfig> <document> <entity name="sep" processor="SolrEntityProcessor" url="http://127.0.0.1:8983/solr/techPro2 " query="*:*"/> </document> </dataConfig> I have another collection techproducts(destination collection) which has the same configset(sample_techproducts_configs) as techPro2 (my source collection here). So after performing a fullimport of the

Solr DIH showing data import successfull but no docs retrieved via query

柔情痞子 提交于 2020-04-30 06:39:30
问题 I am using the SolrEntityProcessor in my DIH config to reindex data from one collection to another. Here is my DIH config for the same <dataConfig> <document> <entity name="sep" processor="SolrEntityProcessor" url="http://127.0.0.1:8983/solr/techPro2 " query="*:*"/> </document> </dataConfig> I have another collection techproducts(destination collection) which has the same configset(sample_techproducts_configs) as techPro2 (my source collection here). So after performing a fullimport of the

Key-Value Store Indexer(Lily HBase Indexer) 小型采坑

余生颓废 提交于 2020-04-27 22:55:31
环境: Cloudera Express 5.12.1 JDK 1.8.0_92 CentOS 7 步骤1:数据导入到Hbase中(非正题,跳过) hbase中表为allDoc,两个Family:fulltext,fileInfo fulltext中就一列:fulltext fileInfo中有如下几列serialNumber,verdictType,hashCode,fileName 步骤2:生成实体配置文件(我这里用的root账户) solrctl instancedir --create /root/config/    步骤3:配置/root/config/conf/schema.xml,增加分词器 <fields></fields>下增加字段,其中id为hbase的row_key,_version_字段必须有,否则报错,我这里只加了fulltext和serialnumber,这里的是solr中的schema <field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" /> <field name="serialnumber" type="string" indexed="true" stored="true" required="true"

数据结构与算法->

こ雲淡風輕ζ 提交于 2020-04-22 06:27:01
查询算法一般有哪些? 暴力:遍历 for 二分:条件为有序; 哈希:最高效;o(1) 索引:搜索引擎, lucene,solr bfs&dfs:图论里面的遍历 平衡树: B+树; B-tree: 红黑树: 二叉搜索树: -------------------------------------------------------------------------------------------------- 二分法转化为数据结构就是二叉查找树 左节点<根节点<右节点 时间复杂度就是树的深度 二分 :logn---->2^x=n(树的高度)-->x=log2^n---------->logn AVL树: 平衡二叉树 (追求极致的平衡,理想状态) 红黑树 :底层的数据结构就是(特殊的二叉树)二叉查找树 数据结构的推算:链表(暴力)->二叉树->二叉查找树->特殊的二叉查找树(自平衡的二叉查找树) ---------------------------------------------------------------------------------------------------------------- 红黑树: 红黑树的性质 : 1.每个节点红色或者黑色; 2.不可能有连载一起的红色节点(黑色可以) 3.根节点都是黑色root,没有父节点的节点为根节点 4