搜索引擎
文章平均质量分 73
海澜百丈冰
这个作者很懒,什么都没留下…
展开
-
solr5.5(1)——安装与使用
前言至于为什么要用solr5.5,因为最新的6.10,没有中文的分词器支持,这里使用的是ik分词器,刚好支持到5.5ik分词器下载地址 :https://github.com/EugenePig/ik-analyzer-solr5 , 下载完之后使用maven命令, mvn package 即可生成jar文件,或者下载我编译好的 http://pan.baidu.com/s/转载 2016-12-21 15:55:51 · 3641 阅读 · 3 评论 -
ElasticSearch6.2.4(7)——ES基于version做乐观锁控制
1.基于version做乐观锁控制并发PUT /index_test/type_test/6{ "name":"steam"}{ "_index": "index_test", "_type": "type_test", "_id": "6", "_version": 1, "result": &q原创 2018-04-24 11:51:10 · 1457 阅读 · 1 评论 -
ElasticSearch6.2.4(8)——POST解决版本冲突
1.POST基于version做乐观锁控制并发PUT /index_test/type_test/7{ "name":"steam"}{ "_index": "index_test", "_type": "type_test", "_id": "7", "_version": 1, "result"原创 2018-04-24 13:43:30 · 839 阅读 · 0 评论 -
ElasticSearch6.2.4(9)——使用mget批量查询
1.mget批量查询使用第三章的数据get /_mget{ "docs":[ { "_index":"zoo", "_type":"product", "_id":"1" }, { "_index":"zoo", "_type":"原创 2018-04-24 13:54:15 · 714 阅读 · 0 评论 -
ElasticSearch6.2.4(10)——bulk简单操作
1.bulkPOST /_bulk{"delete":{"_index":"index_test2","_type":"product1","_id":"1"}}{"create":{"_index":"index_test2","_type":"product1",原创 2018-04-24 14:32:25 · 1551 阅读 · 0 评论 -
ElasticSearch6.2.4(11)——document创建的机制
1.document是怎么到shard上面去的呢?路由算法:shard = hash(routing) % number_of_primary_shards每次增删改查一个document的时候,都会带过来一个routing,默认就是这个document的_id(可能是手动指定,也可能是自动生成)routing = _id,假设_id=1,如图决定一个document在哪个shard上,最重要的一...原创 2018-04-24 14:55:21 · 391 阅读 · 0 评论 -
ElasticSearch6.2.4(1)——window安装
小编个人喜欢吧ElasticSearch简称为es,并且在以后的文章中也喜欢这么称呼。1.下载现在下载es包es官方网站( 我用的es版本是elasticsearch-6.2.4,window下的是zip )es官方提供了一个很好用的客户端kibana下载界面( 我的用的是kibana-6.2.4-windows-x86_64.zip )2.es文件包的大概讲解bin:启动文件config:配置文...原创 2018-04-21 19:59:47 · 3005 阅读 · 0 评论 -
ElasticSearch6.2.4(13)——聚合分析之cardinality
1.es,去重,cartinality metric,对每个bucket中的指定的field进行去重,取去重后的count,类似于count(distcint)GET /tvs/sales/_search{ "size": 0, "aggs": { "group_by_color":{ "date_histogram": { "field": "sol.原创 2018-06-06 17:54:40 · 4470 阅读 · 0 评论 -
ElasticSearch6.2.4(14)——聚合分析之percentiles
1.需求:比如有一个网站,记录下了每次请求的访问的耗时,需要统计tp50,tp90,tp99tp50:50%的请求的耗时最长在多长时间tp90:90%的请求的耗时最长在多长时间tp99:99%的请求的耗时最长在多长时间PUT /website{ "mappings": { "logs": { "properties": { ...原创 2018-06-06 17:54:56 · 1099 阅读 · 0 评论 -
ElasticSearch6.2.4(15)——es镜像安装添加远程扩展字典的IK插件报java.net.SocketPermission
1.我开发用的虽然是6.2.3但和6.2.4没什么差别,今天遇到很坑的问题,先上问题和解决方案2.为什么我会出现这种情况呢?我慢慢来解释(1)我需要更改IK拉取远程词库的频率从原来的60秒改成现在的5分钟的频率(2)我想通过docker-compose.yml文件来动态更改远程词库的路径(3)现在来看看我的compose文件,看到没,我在compose文件里面设置就很方便了,image镜像下面讲(...原创 2018-06-06 17:55:06 · 1755 阅读 · 0 评论 -
ElasticSearch6.2.4(15)——解答集群出现的在同一个index中用同样的搜索条件,每次返回的排序都不一样问题!
1.这次小编在搭建集群后发现每次搜索的时候都发现排序都不一样,并且打印出score也不一样,如图发现规律没,这种只有两种情况,而我的有5个主节点并且每个主节点有个副节点,...原创 2018-06-08 11:11:48 · 1297 阅读 · 0 评论 -
ElasticSearch6.2.4(16)——Elasticsearch 集群健康值红色终极解决方案
1.小编今天凌晨的时候将es集群上线,早上发现有个.monitoring-es-6健康状态为yellow,我只有两个节点,看了settings发现有个副分片是unassigned shards,也学了将replicas设为零,然后再设回来,但发现还是没用curl -XPUT localhost:9201/ .monitoring-es-6-2018.06.07/_settings -H "Cont...原创 2018-06-08 15:20:45 · 5284 阅读 · 0 评论 -
ElasticSearch6.2.4(12)——aggregation浅解
案例:PUT /tvs{ "mappings": { "sales": { "properties": { "price": { "type": "long" }, "color": { "type": "keyword" }, "brand&am原创 2018-06-06 17:53:08 · 310 阅读 · 0 评论 -
ElasticSearch6.2.4(18)——Elasticsearch Suggester详解
现代的搜索引擎,一般会具备"Suggest As You Type"功能,即在用户输入搜索的过程中,进行自动补全或者纠错。 通过协助用户输入更精准的关键词,提高后续全文搜索阶段文档匹配的程度。例如在Google上输入部分关键词,甚至输入拼写错误的关键词时,它依然能够提示出用户想要输入的内容: 如果自己亲手去试一下,可以看到Google在用户刚开始输入的时候是自动补全的,而当...转载 2018-11-01 20:27:47 · 669 阅读 · 0 评论 -
ElasticSearch6.2.4(19)——Top Hits Aggregation解析
PUT /my_index/doc/_bulk?refresh{"index":{"_id":1}}{"name":"小明","content":"深圳大厦很高的","age":12}{"index":{"_id":2}}{"name":"小明","content&quo原创 2018-11-01 20:27:55 · 5459 阅读 · 0 评论 -
ElasticSearch6.2.4(17)——时间数据处理(date histogram)
时间数据处理(Looking at Time) 如果在ES中,搜索是最常见的行为,那么创建日期柱状图(Date Histogram)肯定是第二常见的。为什么要使用日期柱状图呢?想象在你的数据中有一个时间戳。数据是什么不重要-Apache日志事件,股票交易日期,棒球比赛时间-任何拥有时间戳的数据都能通过日期柱状图受益。当你有时间戳时,你经常会想创建基于时间的指标信息: 今年的每个月...转载 2018-11-01 20:27:37 · 2581 阅读 · 0 评论 -
ElasticSearch6.2.4(5)——ES基础分布式架构
1.分片机制我们随便将document数据插入到es中。es内部怎么分片,已经帮我们做了document放到哪个primery shard2.集群发现机制,增加或减少节点时的数据rebalance我们称一台es服务器为一个node节点如果我们有3台服务器,有4个primery shard,必定有台服务器有2个primery shard(如图例如P1和P4),现在在es集群中加台服务器,其中P1或P...原创 2018-04-24 11:12:42 · 1506 阅读 · 0 评论 -
ElasticSearch6.2.4(4)——简单的聚合查询
拿上一章的数据进行聚合1.以name进行分组,group_name这个名称是自己定义的,size为0是为了直接看分组的情况GET /zoo/product/_search{ "size": 0, "aggs": { "group_name": { "terms": {"field": "name"} } }}会报错将文本field的fieldd原创 2018-04-24 10:36:24 · 984 阅读 · 0 评论 -
Lucene(1)——简单的存储与查找
首先准备一些文件和所需要的jar包,我这用的是lucene4.0版本的package cn.com.demo.test;import java.io.BufferedReader;import java.io.File;import java.io.FileReader;import java.io.IOException;import java.io.StringBuff原创 2016-12-19 17:29:41 · 605 阅读 · 0 评论 -
lucene(4)——版本5.X写排序
1.元旦后的第一天上班,精神恍惚,什么都不顺,哎!新的一年不是一个号的开头啊!先上代码,先写入内容(写篇文章用来发泄,分词器还是用我们上一篇文章,我们自己写的分词器)package cn.com.demo.comparator;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStre原创 2017-01-03 17:03:16 · 1049 阅读 · 0 评论 -
lucene(2)——分析和写分词器
1.先对Lucene的四种分词器进行测试public class Lucene{ private static Version version=Version.LUCENE_40;//lucene版本 public static void main(String[] args) throws IOException { Analyzer a1=new StandardAnalyze原创 2016-12-28 16:07:23 · 361 阅读 · 0 评论 -
lucene(3)——版本5.X写中文同义词分词器
最基本的内容如果你存储到硬盘的话,那么目录下就有这么几个文件_0.fnm存储域的名字信息_0.fdt域store.YES的数据信息_0.fdx域store.YES的数据信息_0.fdx保存字体在内容中出现的次数,评分和排序_0.nrm存储评分信息_0.prx偏移量_0.tii和_0.tis 索引内容里所有内容信息_0_1.del所有删除的文件信息,相当于回收站原创 2016-12-29 16:54:17 · 982 阅读 · 0 评论 -
solr历史版本
lucene的历史版本下载地址:http://archive.apache.org/dist/lucene/java/ solr的历史版本下载地址:http://archive.apache.org/dist/lucene/solr/转载 2017-06-01 22:21:40 · 921 阅读 · 0 评论 -
solr5.5(2)——部署tomcat
1.先下载solr5.5http://www.apache.org/dyn/closer.lua/lucene/solr/5.5.32.我用的环境变量是jdk1.8+windows7+tomcat8.03.将solr的压缩包放在一个目录下解压4.将solr-5.5.3\server\solr-webapp下的webapp文件夹copy到apache-tomcat-8.0.39\原创 2016-12-23 11:08:15 · 1046 阅读 · 0 评论 -
solr5.5(3)——结合mysql定时索引
1.首先请看我的第一篇solr文章搭建dataimpotrt功能,这篇还有些重复,就单做复习吧2.在mysql里建立一张表(记得一定要有个s_updateTime字段,类型是timestamp,有个默认值是CURRENT_TIMESTAMP)2.在我们上一章建立的目录D:\software\solrHome\core1\conf目录下找到一个managed-schema.xml(我原创 2016-12-23 13:52:02 · 1248 阅读 · 0 评论 -
solr5.5(5)——Similarity简单介绍
1.Similarity改变solr的打分机制,用solr默认的排序,发现得到的结果并不符合用户体验的需求,研究了几天后,也学了点皮毛,废话不多说。我的是直接把solr客户端项目直接放到建立好了的web项目中,并且直接将solr-5.5.3\server\solr-webapp\webapp里面所有的都放到web文件夹中web.xml的solrHome目录指定就不说了2.sol原创 2017-08-01 17:25:40 · 3517 阅读 · 0 评论 -
solr5.5(7)——solr常用词了解
2. Solr的检索运算符1. “:” 指定字段查指定值,如返回所有值*:*2. “?” 表示单个任意字符的通配3. “*” 表示多个任意字符的通配(不能在检索的项开始使用*或者?符号)4. “~” 表示模糊检索,如检索拼写类似于”roam”的项这样写:roam~将找到形如foam和roams的单词;roam~0.8,检索返回相似度在0.8以上的记录。5.转载 2017-08-04 10:53:36 · 366 阅读 · 0 评论 -
solr5.5(6)——debugQuery的打分分析
目前在了解打分机制我的条件q:pro_name:Evod AND pro_brand:53得到结果为"7": "\n4.6345463 = sum of:\n 2.4654682 = weight(pro_name:evod in 6) [ClassicSimilarity], result of:\n 2.4654682 = score(doc=6,freq=1.0),转载 2017-08-03 17:59:59 · 1126 阅读 · 1 评论 -
使用solr像数据库like搜索
1.我这边先拿pro_name做案例 (1)我这边的是将这个字段的值全部转成小写,如值是KIT,但只有pro_name:kit,这样搜索才能搜到值(2)想要模糊搜索字段的属性值是不能分词的。KeywordTokenizerFactory这个是让值不分词,LowerCaseFilterFactory是将字母原创 2017-10-12 18:58:58 · 5157 阅读 · 0 评论 -
(伪分布式)zookeeper+solr搭建集群(1)
一.zookeeper搭建1.准备工作先是找到zookeeper的安装包,我的是zookeeper-3.4.9.tar.gz2.tar -xzvf zookeeper-3.4.9.tar.gz解压3.然后复制3份(为什么回事奇数?因为zookeeper是有选举机制的如:有5个zookeeper服务器,有两个死掉了,还有3台,这样还能继续用。但如果4台服务器,死了2个,就不能用了,原创 2017-10-15 20:06:00 · 415 阅读 · 0 评论 -
(伪分布式)zookeeper+solr搭建集群(2)
二:搭建solr集群并测试(技术版本:jdk1.8.0_144,apache-tomcat-8.5.23,solr-7.0.0)1.首先搭建4个tomcat和,修改下面的端口(8080~8083)2.向每个tomcat部署各solr并配置solrHome3.在每个solrHome文件下面编辑solr.xml(其中host配置ip,hostPort配置每个solr自身的tom原创 2017-10-15 20:47:09 · 5737 阅读 · 0 评论 -
ElasticSearch6.2.4(2)——核心概念和文档实操
1.核心概念(1)什么是document?document是个文件,里面有很多file。比如{ "name":"小红", "age":"18"}这就一个文件,而name就是个file,age也是(2)什么是index?在我的理解es里的index概念就像是个数据库,里面存放很多个document(3)什么是type?比如document是存放动物的数据,那么type就是把动物的类型分类...原创 2018-04-23 22:30:59 · 1377 阅读 · 0 评论 -
ElasticSearch6.2.4(3)——简单的搜索方式
1.准备工作,添加数据PUT /zoo/product/1{ "name":"monkey", "age":10, "content":"xiao small but ke ai"}PUT /zoo/product/2{ "name":"monkey", "age":13, "content":&原创 2018-04-24 10:03:00 · 1307 阅读 · 0 评论 -
ElasticSearch6.2.4(20)——Elasticsearch window集群搭建
master:elasticsearch.ymlcluster.name: my-applicationnode.name: node-1node.master: truenode.data: falsepath.data: D:\elasticsearch\esCloud\datapath.logs: D:\elasticsearch\esCloud\logbootstra...原创 2018-11-01 20:28:02 · 508 阅读 · 0 评论