摘要: 什么是ZooKeeper Zookeeper是用Java开发的一个分布式协调服务,就是为用户的分布式应用程序提供协调服务。应用程序可以在Zookeeper集群上注册当前的节点数据,当节点数据发生更改时,ZooKeeper还会通知应用程序。 ZooKeeper的应用场景 配置文件管理(如:Solor集群的索引配置文件) 服务器状态感知(告诉客户端有哪些服务器可用) 主从协调(服务器内部选举... 阅读全文
posted @ 2017-03-10 21:43 Wesly186 阅读(191) 评论(0) 推荐(0) 编辑
摘要: api同SolrJ单机版,唯一需要改动的是SolrServer的实现类 // 注意地址改成zkHostString zkHost = "zookeeper01:2181,zookeeper02:2181,zookeeper03:2181";CloudSolrServer solrServer = new CloudSolrServer(zkHost);// 设置默认的collectionsolr... 阅读全文
posted @ 2017-03-10 21:40 Wesly186 阅读(174) 评论(0) 推荐(0) 编辑
摘要: SolrCloud集群架构图 对Solr集群的理解 zookeeper集中保存Solr的配置文件 zookeeper做索引请求的分发,SolrJ不需要知道Solr集群细节 Solr集群内部做数据一致性保证 一个索引库可以有多个分块 每一个分块由一部分的Solr服务器维护 每一个分块的服务器中会选出一个leader 阅读全文
posted @ 2017-03-10 21:39 Wesly186 阅读(762) 评论(0) 推荐(0) 编辑
摘要: 1.在三台服务器上搭建ZooKeeper环境 详细步骤见ZK笔记 2.在四台服务器上搭建Solr单机版环境 详细步骤见Solr笔记09 3.将某一个Solrhome的Collection下的conf上传至Zookeeper java -classpath C:\Tomcat\webapps\solr\WEB_INF\lib/* org.apache.solr.cloud.ZKCLI -z... 阅读全文
posted @ 2017-03-10 21:39 Wesly186 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 索引时设置boost 在创建索引时设置boost值:可以针对Field设置boost,也可以针对Document设置boost值。针对Field设置boost必须搜索时匹配到该Field在计算相关度得分时才有效,针对Document设置Field则在搜索时只要匹配到该Document的任意Field在计算相关度得分都有效。 a01 幸福一家人 我们... 阅读全文
posted @ 2017-03-10 21:38 Wesly186 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 创建索引 说明:根据id(唯一约束)域来更新Document的内容,如果根据id值搜索不到id域则会执行添加操作,如果找到则更新。 public void testCreateIndex() throws SolrServerException, IOException { SolrServer solrServer = new HttpSolrServer(urlString);... 阅读全文
posted @ 2017-03-10 21:37 Wesly186 阅读(167) 评论(0) 推荐(0) 编辑
摘要: FieldType域类型定义 Field定义 在fields结点内定义具体的Field,filed定义包括name,type(为之前定义过的各种FieldType),indexed(是否被索引),stored(是否被储存),multiValued(是否存储多个值,多值是Json数组)等属性。如下: uniqueKey Solr中默认定义唯一主键key为id域,So... 阅读全文
posted @ 2017-03-10 21:36 Wesly186 阅读(392) 评论(0) 推荐(0) 编辑
摘要: 1.下载开发包 从Solr官方网站(http://lucene.apache.org/solr/ )下载Solr4.10.3,根据Solr的运行环境,Linux下需要下载lucene-4.10.3.tgz,windows下需要下载lucene-4.10.3.zip。 2.创建SolrHome(Solr运行的数据以及配置文件) a. 创建SolrHome目录 b. 将 example\so... 阅读全文
posted @ 2017-03-10 21:35 Wesly186 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 什么是Solr Solr 是Apache下的一个顶级开源项目,基于Lucene开发,本质上是一个部署在web容器下的Web应用。Solr是独立的搜索引擎服务,需要使用搜索服务的web应用可以通过http协议来对索引进行维护和查询。 Solr相对于lucene的优势 基于lucene开发,支持丰富的查询语言,性能优化 支持分布式集群部署,不需要手动实现 实现了负载均衡、数据分片、维护数据的... 阅读全文
posted @ 2017-03-10 21:35 Wesly186 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 为什么要设置相关度 设置相关读可以人为的影响搜索结果的排序,通过设置某一个域的boost,可以在同时出现多条匹配结果时提升排名。通过设置boost影响打分结果,boost是一个加权值(默认加权值为1.0f),它可以影响权重的计算。 设置相关度的时机 1.建立索引时设置 提升某个Document的权重,类似于竞价排名 if(file_name.equals("springmvc.... 阅读全文
posted @ 2017-02-28 11:46 Wesly186 阅读(116) 评论(0) 推荐(0) 编辑