转自:http://www.chepoo.com/elasticsearch-similarity-custom-plug-in-development.html 在搜索开发中,我们要修改打分机制,就需要自定义similarity.现在来简单说一下elasticsearch下的自定义similarity 插件开发. 网上的https://github.com/tlrx/elasticsearch-custom-similarity-provider仅仅支持0.20.0.Beta1-SNAPSHO…
elasticsearch 自定义ID: curl -s -XPUT localhost:9200/web -d ' { "mappings": { "blog": { "_id": { "path": "uuid" }, "properties": { "title": { "type": "string", "in…
JMeter自定义采样器插件开发 目录 JMeter自定义采样器插件开发 1. 简介 2. 需求简介 3.成品展示 成功展示 失败展示 4. 准备开发环境 4.1 准备pom文件 4.2 新建Java的GUI类 4.3 准备Java的采样器 5. 打包&部署 6. 参考文章 1. 简介 JMeter支持插件机制,只需要将打包好的jar包放到lib/ext/下面,JMeter就会动态的加载符合要求的插件. 要扩展UI的话,扩展的Java类的包名必须是.gui. 同样的扩展函数的Java类的包名必须…
分析器(Analyzer) Elasticsearch 无论是内置分析器还是自定义分析器,都由三部分组成:字符过滤器(Character Filters).分词器(Tokenizer).词元过滤器(Token Filters). 分析器Analyzer工作流程: Input Text => Character Filters(如果有多个,按顺序应用) => Tokenizer => Token Filters(如果有多个,按顺序应用) => Output Token 字符过滤器(C…
尽管在很多情况下基本域数据类型 已经够用,但你经常需要为单独域自定义映射 ,特别是字符串域.自定义映射允许你执行下面的操作: 全文字符串域和精确值字符串域的区别 使用特定语言分析器 优化域以适应部分匹配 指定自定义数据格式 还有更多 域最重要的属性是 type .对于不是 string 的域,你一般只需要设置 type : { "number_of_clicks": { "type": "integer" } } 默认, string 类型域会被…
关于结巴分词 ElasticSearch 插件: https://github.com/huaban/elasticsearch-analysis-jieba 该插件由huaban开发.支持Elastic Search 版本<=2.3.5. 结巴分词分析器 结巴分词插件提供3个分析器:jieba_index.jieba_search和jieba_other. jieba_index: 用于索引分词,分词粒度较细: jieba_search: 用于查询分词,分词粒度较粗: jieba_other:…
关于分析器 ES中默认使用的是标准分析器(standard analyzer).如果需要对某个字段使用其他分析器,可以在映射中该字段下说明.例如: PUT /my_index { "mappings": { "blog": { "properties": { "title": { "type": "string", "fields": { "english&…
https://www.elastic.co/guide/cn/elasticsearch/guide/current/custom-dynamic-mapping.html如果你想在运行时增加新的字段,你可能会启用动态映射. 然而,有时候,动态映射 规则 可能不太智能.幸运的是,我们可以通过设置去自定义这些规则,以便更好的适用于你的数据.日期检测当 Elasticsearch 遇到一个新的字符串字段时,它会检测这个字段是否包含一个可识别的日期,比如 2014-01-01 . 如果它像日期,这个…
output中配置 elasticsearch{ action => "index" hosts => ["xxx"] index => "http-log-logstash" document_type => "logs" template => "opt/http-logstash.json" template_name => "http-log-logst…
使用function_score进行分组处理,利用分组函数script_score进行自定义分值处理, 注意:使用script功能需要在配置中打开脚本功能: script.inline: on   script.indexed: on  script.engine.groovy.inline.aggs: on   script.file: on 下图中的查询表示,查询termid为1238218的记录,或者displayname包含“宝宝”的记录: termid为1238218的记录排序分人为设…
如何写一个cordova 用于ionic2项目中呢,在搜索了一番之后,千篇一律,我都怀疑那些文章是不是全部都是复制来复制去的,而且都不是很详细.我自己也捣鼓了一下午,踩了很多坑.所以特此写这下这篇,记录一下. 假设需求是 写一个日志插件,可以将日志写在手机的sdcard中. 1.安装plugman npm install -g plugman 2.creat一个插件框架 plugman creat --name 插件名字 --plugin_id 插件id --plugin_version 插件版…
前言: java中调用TransportClient时,我们一般都会设置成单例,为了避免多次的创建与关闭造成的内存占用及关闭缓慢问题.而TransportClient本身也是实现了线程池threadPool. 因此在调用TransportClient并发量不高的情况下,使用单例模式是没有问题的. 在某些情况下,我们需要频繁多次的调用TransportClient,在单例模式下可能有延迟... 我们可以提前创建好一组客户端,在用到的时候,从资源池中获取一个闲置资源,而在使用完毕后,资源池自动回收.…
由于线上elasticsearch集群数据量越来越大,优化已经已经是重中之重. 优化的方式有很多中,网上一大堆,自行百度. 优化方案中有个叫routing的方案是个需要熟悉业务日志才能使用.于是我就研究了routing方式. 网上有一大堆routing 的方法.但是大部分都是在mapping中加入_routing,required,path等参数工作的,但是我使用后发现有错误.如下: reason": Mapping definition for [_routing] has unsupport…
通过mapping中的映射,将&映射成and PUT /my_index?pretty' -H 'Content-Type: application/json' -d' { "settings": { "analysis": { "char_filter": { "&_to_and": { "type": "mapping", "mappings":…
ElasticSearch 做为数据仓库处理速度确实很强,但是很多和业务相关的函数ElasticSearch怎么支持的,通过查询发现,ElasticSearch支持自定义插件(相当于自定义函数),通过自定义插件,开发人员可以实现各种业务相关的函数定义供相关人员使用. 1.   ElasticSearch  自定义插件编写 后续补充. 2.  ElasticSearch  自定义插件打包 2.1  自定义插件开发完成后,需要增加“plugin-descriptor.properties”配置文件,…
elasticsearch支持两种协议: http协议. Native Elasticsearch binary protocol(本地elasticsearch二进制协议):elasticsearch自主研发的节点间通信的协议. 还可以通过使用插件来扩展支持的协议.有一些官方的插件. java之外的语言不推荐使用第二种方式,因为第二种方式需要很多自定义序列化. 支持的客户端 Transport Transport是连接到Elasticsearch的本地方法之一.它是官方Elasticsearc…
elasticsearch安装与使用(5)-- search guard安装与配置   一.安装search guard插件必须要安装两部分: ①search-guard-xx ②search-guard-ssl (XX指的是与elasticsearch引擎对应的版本) github地址: https://github.com/floragunncom/search-guard 这里以elasticsearch 2.3.5版本为例 进入到elasticsearch安装目录(如果是用RPM包安装的…
elasticsearch 自定义分词器 安装拼音分词器.ik分词器 拼音分词器: https://github.com/medcl/elasticsearch-analysis-pinyin/releases ik分词器:https://github.com/medcl/elasticsearch-analysis-ik/releases 下载源码需要使用maven打包 下载构建好的压缩包解压后放直接在elasticsearch安装目录下 plugins文件夹下,可以重命名 1.在es中设置分…
查询优化 1 从提高查询精确度进行优化: 本部分主要针对全文搜索进行探究. 1.1 倒排索引 1.1.1 什么是倒排索引: 一个倒排索引由文档中所有不重复词的列表构成,对于其中每个词,有一个包含它的文档列表. 倒排索引的好处: 当输入一些关键词进行匹配时,包含关键词越多的文档,得分越高,即,相关度越大. 如何建立倒排索引: 好像ES会为所有精确值字段或全文字段分词后的词条自动创建倒排索引. 1.2 分析 1.2.1 什么是分析: 分析包括两部分,分词和标准化. 什么是分词: 将字符串切分成词条的…
一.Elasticsearch介绍和安装 1.1 介绍  Elastic Elastic官网:https://www.elastic.co/cn/ Elastic有一条完整的产品线:Elasticsearch.Kibana.Logstash等,前面说的三个就是大家常说的ELK技术栈.  Elasticsearch Elasticsearch官网:https://www.elastic.co/cn/products/elasticsearch Elasticsearch具备以下特点: 分布式,无需…
原文:<死磕 Elasticsearch 方法论>:普通程序员高效精进的 10 大狠招!(完整版) 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/wojiushiwo987/article/details/79293493 人工智能.大数据快速发展的今天,对于 TB 甚至 PB 级大数据的快速检索已然成为刚需.Elasticsearch 作为开源领域的后起之秀,从2010年至今得到飞跃…
本文从基本概念.基本CRUD操作.倒排索引原理.分词等部分来初识Elasticsearch. 2.1 基本概念 Elasticsearch是面向文档(Document)的,文档是所有可搜索数据的最小单位:文档会被序列化成Json格式,保存在Elasticsearch中,并且每个文档都有一个唯一ID,可以通过Elasticsearch自动生成,也可以自己进行指定.对比MySQL,每行数据都有一个主键,这个主键可以使用MySQL自增主键,也可以通过雪花算法等方式生成然后进行自己设置. 文档的元数据,…
(原文)http://blog.csdn.net/wuruixn/article/details/7405175 android平台phonegap框架实现原理 分类: Android2012-03-28 23:10 2919人阅读 评论(0) 收藏 举报 phonegap平台android框架apiblackberry 最近研究了下phonegap手机快速开发框架原理,重点探究了android平台上的phonegap框架源码,在参考cutesource写的phonegap源码分析后,更加深入理…
之前在一个系统里使用了FCKeditor编辑器,由于项目需求需要在FCKeditor里添加一个自定义的按钮用于实现自己的需求 主要是在点击该按钮时删除或添加FCKeditor编辑器里的内容 其实是一个很简单的需求,本来以为在FCKeditor可以很容易的实现 在Google上搜索自定义按钮,插件开发,经过近二个小时的摸索最终还是没有实现不知是我太笨还是自定义插件太难啦 无奈只能通过JS方式来处理 1.在页面中添加checkbox元素并绑定事件,选中该元素时将在FCKeditor内容里添加"{#b…
一.Windows下安装运行 官网下载,下载与elasticSearch同一个版本,zip格式.Logstash占用内存较大,我在使用的时候cpu一般都是冲到90% 1.CMD直接运行 创建一个基本的Logstash管道来测试Logstash设置. 解压logstash ,并且在bin目录下运行命令(参考下面命令):加入 -e 标志可以在命令行直接指定配置文件. logstash -e ""  或者: logstash -e "input { stdin {} } outpu…
阿里P7移动互联网架构师进阶视频(每日更新中)免费学习请点击:https://space.bilibili.com/474380680本篇文章将继续从自定义 Gradle 插件开发来介绍自动化构建系统Gradle: Gradle 插件简介 Gradle 插件是一个能够将 Gradle 的构建逻辑(build logic)和构建任务(build task)打包到一起,以便在多个项目的构建脚本(build.gradle)中应用(apply)的工具. 例如,build.gradle 构建脚本文件内 a…
Kibana 是一款开源的数据分析和可视化平台,它是 Elastic Stack 成员之一,设计用于和 Elasticsearch 协作.您可以使用 Kibana 对 Elasticsearch 索引中的数据进行搜索.查看.交互操作.您可以很方便的利用图表.表格及地图对数据进行多元化的分析和呈现. 目录 引子 ELK快速安装 Elasticsearch快速入门 SpringBoot整合ELK日志中心 ELK是Elastic公司提供的一套完整的日志收集以及展示的解决方案,也就是我们常说的日志中心,…
ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎.ES能提供强大的索引能力,很大一方面原因是由多个分布在不同机器的es实例组成集群对外提供服务,这种可以横向扩展的机制可以极大提升服务能力.每一个es实例都是基于Lucene的独立服务,负责本地分片上数据的索引和查询,如果掌握了ES的是实现细节,…
文章转自:http://blog.csdn.net/duck_genuine/article/details/6257540 首先说一下lucene对文档的评分规则: score(q,d)   =   coord(q,d) ·  queryNorm(q) · ∑ ( tf(t in d) ·  idf(t)2 ·  t.getBoost() ·  norm(t,d) ) 具体可以查看相关文章:http://blog.chenlb.com/2009/08/lucene-scoring-archit…
接上一篇<Elasticsearch 2.X 版本Java插件开发简述> 开发1.X版本elasticsearch java插件与2.X版本有一些不同,同时在安装部署上也有些不同,主要区别如下: 1:插件入口plugin区别与2.X版本,改为继承org.elasticsearch.plugins.AbstractPlugin,而Plugin作为一个接口被AbstractPlugin实现,具体代码如下: package com.gridsum.es.rest.plugin; import org…