- 浏览: 146062 次
文章分类
最新评论
-
x_looking:
Client client = new TransportCl ...
ELASTICSEARCH常见问题 -
辣de冷wmyes:
ElasticSearch视频教程百度网盘地址:http:// ...
一、Elasticsearch安装使用教程
elasticsearch 的mapping
例子一:
订单号 如:ATTS000928732 类型不分词。 index: not_analyzed
订单号是全部数据 如: 63745345637 这样的分词是可以的。
例子二
定义mapping
在添加索引的mapping时就可以这样定义分词器
{
"page":{
"properties":{
"title":{
"type":"string",
"indexAnalyzer":"ik",
"searchAnalyzer":"ik"
},
"content":{
"type":"string",
"indexAnalyzer":"ik",
"searchAnalyzer":"ik"
}
}
}
}
indexAnalyzer为索引时使用的分词器,searchAnalyzer为搜索时使用的分词器。
java mapping代码如下:
XContentBuilder content = XContentFactory.jsonBuilder().startObject()
.startObject("page")
.startObject("properties")
.startObject("title")
.field("type", "string")
.field("indexAnalyzer", "ik")
.field("searchAnalyzer", "ik")
.endObject()
.startObject("code")
.field("type", "string")
.field("indexAnalyzer", "ik")
.field("searchAnalyzer", "ik")
.endObject()
.endObject()
.endObject()
.endObject()
测试分词可用调用下面api,注意indexname为索引名,随便指定一个索引就行了
http://localhost:9200/indexname/_analyze?analyzer=ik&text=测试elasticsearch分词器
elasticsearch中的mapping映射配置与查询典型案例
elasticsearch中的mapping映射配置示例
比如要搭建个中文新闻信息的搜索引擎,新闻有"标题"、"内容"、"作者"、"类型"、"发布时间"这五个字段;
我们要提供"标题和内容的检索"、"排序"、"高亮"、"统计"、"过滤"等一些基本功能。
ES提供了smartcn的中文分词插件,测试的话建议使用IK分词插件。
内容中properties对应mapping里的内容,里面5个字段。
type指出字段类型、内容、标题字段要进行分词和高亮因此要设置分词器和开启term_vector。
{
"news": {
"properties": {
"content": {#内容
"type": "string", #字段类型
"store": "no", #是否存储
"term_vector": "with_positions_offsets",#开启向量,用于高亮
"index_analyzer": "ik",#索引时分词器
"search_analyzer": "ik"#搜索时分词器
},
"title": {
"type": "string",
"store": "no",
"term_vector": "with_positions_offsets",
"index_analyzer": "ik",
"search_analyzer": "ik",
"boost": 5
},
"author": {
"type": "string",
"index": "not_analyzed"#该字段不分词
},
"publish_date": {
"type": "date",
"format": "yyyy/MM/dd",
"index": "not_analyzed"#该字段不分词
},
"category": {
"type": "string",
"index": "not_analyzed"#该字段不分词
}
}
}
}
查询示例:内容包括几个部分:
分页:from/size、字段:fields、排序sort、查询:query、过滤:filter、高亮:highlight、统计:facet
{
"from": 0,
"size": 10,
"fields": [
"title",
"content",
"publish_date",
"category",
"author"
],
"sort": [
{
"publish_date": {
"order": "asc"
}
},
"_score"
],
"query": {
"bool": {
"should": [
{
"term": {
"title": "中国"
}
},
{
"term": {
"content": "中国"
}
}
]
}
},
"filter": {
"range": {
"publish_date": {
"from": "2010/07/01",
"to": "2010/07/21",
"include_lower": true,
"include_upper": false
}
}
},
"highlight": {
"pre_tags": [
"<tag1>",
"<tag2>"
],
"post_tags": [
"</tag1>",
"</tag2>"
],
"fields": {
"title": {},
"content": {}
}
},
"facets": {
"cate": {
"terms": {
"field": "category"
}
}
}
}
结果包含需要的几个部分。
值得注意的是,facet的统计是命中的结果进行统计,filter是对结果进行过滤,filter不会影响facet,如果要统计filter掉的的就要使用filter facet。
例子一:
订单号 如:ATTS000928732 类型不分词。 index: not_analyzed
订单号是全部数据 如: 63745345637 这样的分词是可以的。
PUT /Order_v5 { "settings": { //设置10个分片,理解为类似数据库中的表分区中一个个分区的概念,不知道是否妥当 "number_of_shards": 10 }, "mappings": { "trades": { "_id": { "path": "id" }, "properties": { "id": { "type": "integer", //id:自增数字 //要求:查询 "store" : true }, "name": { //名称:佳洁士,强生婴儿沐浴露,100w Led节能灯,户外多功能折叠椅等 //要求:抓住关键字,如:佳洁士+牙膏 or 牙刷;<span></span> 强生+沐浴露; led+节能+100W; 户外+折叠椅等 //结论: 如果分词,就意味着产品品牌名词可能被拆分,如 "佳洁士", 如果不分词就意味着对用户输入要求匹配度高。先默认分词,试试看看。 "type": "string" }, "brand": { //品牌: PG,P&G,宝洁集团,宝洁股份,联想集团,联想电脑等 "type": "string" }, "orderNo": { //订单号 :如ATTS000928732 "type": "string", "index": "not_analyzed" }, "description": { //描述: 2015款玫瑰香型强生婴儿沐浴露,550ml,包邮 //搜索: 要求高亮所以设置store:true. 关键词权重:沐浴露 -> {强生+沐浴露 or 玫瑰花 + 沐浴露 or 550ml + 沐浴露 or 沐浴露 + 包邮-> {2015年 + 玫瑰香...}} //设置:必须分词,而且要控制好 "type": "string", <span></span> "sort": true }, "date": { "type": "date" }, "city": { "type": "string" }, "qty": { <span></span> // index无效 "type": "float" }, "price": { //价格: float index无效 "type": "float" } } } } }
例子二
定义mapping
在添加索引的mapping时就可以这样定义分词器
{
"page":{
"properties":{
"title":{
"type":"string",
"indexAnalyzer":"ik",
"searchAnalyzer":"ik"
},
"content":{
"type":"string",
"indexAnalyzer":"ik",
"searchAnalyzer":"ik"
}
}
}
}
indexAnalyzer为索引时使用的分词器,searchAnalyzer为搜索时使用的分词器。
java mapping代码如下:
XContentBuilder content = XContentFactory.jsonBuilder().startObject()
.startObject("page")
.startObject("properties")
.startObject("title")
.field("type", "string")
.field("indexAnalyzer", "ik")
.field("searchAnalyzer", "ik")
.endObject()
.startObject("code")
.field("type", "string")
.field("indexAnalyzer", "ik")
.field("searchAnalyzer", "ik")
.endObject()
.endObject()
.endObject()
.endObject()
测试分词可用调用下面api,注意indexname为索引名,随便指定一个索引就行了
http://localhost:9200/indexname/_analyze?analyzer=ik&text=测试elasticsearch分词器
elasticsearch中的mapping映射配置与查询典型案例
elasticsearch中的mapping映射配置示例
比如要搭建个中文新闻信息的搜索引擎,新闻有"标题"、"内容"、"作者"、"类型"、"发布时间"这五个字段;
我们要提供"标题和内容的检索"、"排序"、"高亮"、"统计"、"过滤"等一些基本功能。
ES提供了smartcn的中文分词插件,测试的话建议使用IK分词插件。
内容中properties对应mapping里的内容,里面5个字段。
type指出字段类型、内容、标题字段要进行分词和高亮因此要设置分词器和开启term_vector。
{
"news": {
"properties": {
"content": {#内容
"type": "string", #字段类型
"store": "no", #是否存储
"term_vector": "with_positions_offsets",#开启向量,用于高亮
"index_analyzer": "ik",#索引时分词器
"search_analyzer": "ik"#搜索时分词器
},
"title": {
"type": "string",
"store": "no",
"term_vector": "with_positions_offsets",
"index_analyzer": "ik",
"search_analyzer": "ik",
"boost": 5
},
"author": {
"type": "string",
"index": "not_analyzed"#该字段不分词
},
"publish_date": {
"type": "date",
"format": "yyyy/MM/dd",
"index": "not_analyzed"#该字段不分词
},
"category": {
"type": "string",
"index": "not_analyzed"#该字段不分词
}
}
}
}
查询示例:内容包括几个部分:
分页:from/size、字段:fields、排序sort、查询:query、过滤:filter、高亮:highlight、统计:facet
{
"from": 0,
"size": 10,
"fields": [
"title",
"content",
"publish_date",
"category",
"author"
],
"sort": [
{
"publish_date": {
"order": "asc"
}
},
"_score"
],
"query": {
"bool": {
"should": [
{
"term": {
"title": "中国"
}
},
{
"term": {
"content": "中国"
}
}
]
}
},
"filter": {
"range": {
"publish_date": {
"from": "2010/07/01",
"to": "2010/07/21",
"include_lower": true,
"include_upper": false
}
}
},
"highlight": {
"pre_tags": [
"<tag1>",
"<tag2>"
],
"post_tags": [
"</tag1>",
"</tag2>"
],
"fields": {
"title": {},
"content": {}
}
},
"facets": {
"cate": {
"terms": {
"field": "category"
}
}
}
}
结果包含需要的几个部分。
值得注意的是,facet的统计是命中的结果进行统计,filter是对结果进行过滤,filter不会影响facet,如果要统计filter掉的的就要使用filter facet。
发表评论
-
使用 Scripted Metric Aggregation 遇到的问题
2016-02-19 14:12 2403使用Scripted Metric Aggregation进行 ... -
ElasticSearch性能优化策略
2016-02-17 19:42 3489ElasticSearch性能优化主要分为4个方面的优化。 一 ... -
Elasticsearch 数据建模 - 处理关联关系
2016-02-17 14:40 1021数据建模(Modeling Your Data ... -
数据类型转换错误
2016-02-15 18:28 1556异常: Invalid shift value (64) in ... -
elasticsearch 排序异常,关键字冲突
2016-02-03 12:35 5806org.elasticsearch.action.search ... -
ElasticSearch不同类型下同名字段排序错误
2016-02-03 11:18 1895虽然之前知道elasticsearch不同类型下同名字段要慎用 ... -
ElasticSearch immense term错误
2016-02-02 19:07 2570在使用ElasticSearch的过程中遇到了一个immens ... -
ELASTICSEARCH常见问题
2015-09-22 15:39 31581. ELASTICSEARCH建索引过程中崩溃问题追查 by ... -
routing实例1
2015-09-21 18:51 0package com.eg.part1; import j ... -
routing实例
2015-09-21 18:49 0创建索引: PUT /useraudit_v1 创建索引别名: ... -
elasticsearch 精确,模糊查询实例
2015-09-19 23:55 62518实例 http://www.bubuko.com/infode ... -
elasticsearch java调用实例
2015-09-19 23:55 3499http://outofmemory.cn/code-snip ... -
[维护]Elasticsearch零停机时间更新索引配置或迁移索引
2015-09-18 10:16 751另外一篇文章:http://blog.csdn.net/dm_ ... -
ElasticSearch基础杂烩-配置-索引-优化
2015-09-19 23:56 601http://blog.csdn.net/huwei2003/ ... -
Elasticsearch安装中文分词插件ik
2015-09-18 10:15 1987安装步骤: 1、到github ... -
ElasticSearch的各种服务的URL
2015-09-18 10:15 492前言 elasticsearch 将各种功能、配置、服务都以A ... -
ElasticSearch集群搭建
2015-09-19 23:56 541http://www.linuxidc.com/Linux/2 ... -
elasticsearch 配置
2015-09-18 10:16 665elasticsearch.conf 主要是设置一些java运 ... -
elasticsearch中文分词集成
2015-09-17 09:35 565elasticsearch官方只提供smartcn这个中文分词 ... -
elasticsearch的Mapping定义
2015-09-17 09:35 1369Mapping,就是对索引库中 ...
相关推荐
labview
重庆大学期末考试试卷,重大期末考试试题,试题及答案
重庆大学期末考试试卷,重大期末考试试题,试题及答案
在现有省、市港口信息化系统进行有效整合基础上,借鉴新 一代的感知-传输-应用技术体系,实现对码头、船舶、货物、重 大危险源、危险货物装卸过程、航管航运等管理要素的全面感知、 有效传输和按需定制服务,为行政管理人员和相关单位及人员提 供高效的管理辅助,并为公众提供便捷、实时的水运信息服务。 建立信息整合、交换和共享机制,建立健全信息化管理支撑 体系,以及相关标准规范和安全保障体系;按照“绿色循环低碳” 交通的要求,搭建高效、弹性、高可扩展性的基于虚拟技术的信 息基础设施,支撑信息平台低成本运行,实现电子政务建设和服务模式的转变。 实现以感知港口、感知船舶、感知货物为手段,以港航智能 分析、科学决策、高效服务为目的和核心理念,构建“智慧港口”的发展体系。 结合“智慧港口”相关业务工作特点及信息化现状的实际情况,本项目具体建设目标为: 一张图(即GIS 地理信息服务平台) 在建设岸线、港口、港区、码头、泊位等港口主要基础资源图层上,建设GIS 地理信息服务平台,在此基础上依次接入和叠加规划建设、经营、安全、航管等相关业务应用专题数据,并叠 加动态数据,如 AIS/GPS/移动平台数据,逐步建成航运管理处 "一张图"。系统支持扩展框架,方便未来更多应用资源的逐步整合。 现场执法监管系统 基于港口(航管)执法基地建设规划,依托统一的执法区域 管理和数字化监控平台,通过加强对辖区内的监控,结合移动平 台,形成完整的多维路径和信息追踪,真正做到问题能发现、事态能控制、突发问题能解决。 运行监测和辅助决策系统 对区域港口与航运业务日常所需填报及监测的数据经过科 学归纳及分析,采用统一平台,消除重复的填报数据,进行企业 输入和自动录入,并进行系统智能判断,避免填入错误的数据, 输入的数据经过智能组合,自动生成各业务部门所需的数据报 表,包括字段、格式,都可以根据需要进行定制,同时满足扩展 性需要,当有新的业务监测数据表需要产生时,系统将分析新的 需求,将所需字段融合进入日常监测和决策辅助平台的统一平台中,并生成新的所需业务数据监测及决策表。 综合指挥调度系统 建设以港航应急指挥中心为枢纽,以各级管理部门和经营港 口企业为节点,快速调度、信息共享的通信网络,满足应急处置中所需要的信息采集、指挥调度和过程监控等通信保障任务。 设计思路 根据项目的建设目标和“智慧港口”信息化平台的总体框架、 设计思路、建设内容及保障措施,围绕业务协同、信息共享,充 分考虑各航运(港政)管理处内部管理的需求,平台采用“全面 整合、重点补充、突出共享、逐步完善”策略,加强重点区域或 运输通道交通基础设施、运载装备、运行环境的监测监控,完善 运行协调、应急处置通信手段,促进跨区域、跨部门信息共享和业务协同。 以“统筹协调、综合监管”为目标,以提供综合、动态、实 时、准确、实用的安全畅通和应急数据共享为核心,围绕“保畅通、抓安全、促应急"等实际需求来建设智慧港口信息化平台。 系统充分整合和利用航运管理处现有相关信息资源,以地理 信息技术、网络视频技术、互联网技术、移动通信技术、云计算 技术为支撑,结合航运管理处专网与行业数据交换平台,构建航 运管理处与各部门之间智慧、畅通、安全、高效、绿色低碳的智 慧港口信息化平台。 系统充分考虑航运管理处安全法规及安全职责今后的变化 与发展趋势,应用目前主流的、成熟的应用技术,内联外引,优势互补,使系统建设具备良好的开放性、扩展性、可维护性。
1.版本:matlab2014/2019a/2021a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
基于django-xadmin的idc资产管理应用.zip
电商数据分析.py
头哥机组练习-第4关:16位快速加法器设计(计算机组成原理-谭志虎-华科大)
春节,作为中国最重要的传统节日之一,象征着团圆、喜庆和新的开始。烟花作为春节庆祝活动的重要元素,以其绚烂多彩、瞬间绽放的特点,给人们带来了无尽的欢乐和惊喜。然而,由于环境保护和安全的考虑,现实中烟花的燃放受到了诸多限制。因此,利用编程技术,模拟出春节烟花的效果,成为了一种新颖而有趣的方式。 本文将介绍一种基于Python编程语言的春节烟花模拟代码。通过简单的代码实现,我们可以创建出各种形态、颜色和动态效果的烟花,让人们在计算机屏幕上欣赏到一场别样的“烟花盛宴”。 一、代码介绍 该代码主要使用了Python的图形库pygame,以及random库来生成随机颜色和位置。pygame库是一个用于编写视频游戏的Python模块集,它可以创建窗口、绘制图形、处理键盘和鼠标事件等。random库则用于生成随机数,以模拟烟花的随机性和不确定性。 在代码中,我们定义了一个烟花类(Firework),包含烟花的初始位置、颜色、速度等属性,以及一个方法(update)用于更新烟花的位置和状态。然后,在主程序中,我们创建了一定数量的烟花对象,并在每一帧中更新它们的状态,同时在屏幕上绘制出来。 通过调整烟花类
Excel数据看板,Excel办公模板,Excel模板下载,Excel数据统计,数据展示
1.版本:matlab2014/2019a/2021a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
1.版本:matlab2014/2019a/2021a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一款由美国国家仪器公司(National Instruments)开发的图形化编程语言和开发环境,广泛应用于数据采集、控制系统、测试测量、科学研究等领域。以下是关于 LabVIEW 的资源描述: 开发环境和工具:LabVIEW 提供了一个直观易用的开发环境,允许用户通过拖放式的方式创建虚拟仪器(Virtual Instruments,简称VIs)并连接它们,构建复杂的控制和测量系统。LabVIEW 还提供了丰富的图形化编程工具和函数库,包括数据处理、信号分析、仪器控制等功能,极大地简化了开发过程。 图形化编程语言:LabVIEW 使用图形化编程语言 G(Graphical Programming Language)进行编程,采用了数据流编程模型,使得程序的逻辑结构更直观清晰。用户可以通过连接各种图形化的函数块(Node)来实现数据处理、控制逻辑等功能,无需编写复杂的代码,降低了学习和开发的门槛。 应用领域:LabVIEW 在科学研究、工程控制、教育培训等领域有着
定时器控制交通指示灯 用C语言编写,也可以改成汇编
共建共享共治智慧城市感知系统,实现视频资源的集约化;视频感知,AI加持,构建视频AI资源池;融合感知数据与业务数据;实现城市状态的实时监测、城市异常的智能预警以及对事件的主动学习、预警和决策模型的自动训练,以数据和知识驱动实现城市日常治理、公共服务、应急处置和发展筹划等业务的可视化、智能化、可量化评估与持续优化,推动城市治理体系和治理能力现代化;从而有效支撑综合类业务及探索运营类业务。 在现有建设的基础上,补全前端多维信息感知设备包括路口交通感知、规范交通标示、人脸抓拍、信号控制等系统,为政府综合业务、承载城市运行管理、应急指挥、民生服务等业务,重点在运行监测、协同指挥、仿真决策、开放服务等方面,通过全面感知城市运行状态,实现城市日常运行管理以及突发事件应急联动指挥等全景指挥中心功能。
校园招聘笔试题目及答案
Excel数据看板,Excel办公模板,Excel模板下载,Excel数据统计,数据展示
Google Play商店.apk
杭州电子科技大学,期末考试资料,计算机专业期末考试试卷,试卷及答案,数据结构。