elasticsearch书籍的索引误删了怎么恢复?会自动再建立索引吗

当前位置: >
数据恢复!智能手机照片被误删如何恢复
时间: 08:40 来源:紫黄茉莉 作者:雪村草庐 阅读:次
能让小编记住哪些发生在小编身边的故事。
统统都能恢复。
现在手机正是一个神器,我不知道智能手机照片被误删如何恢复。无论手机还是U盘甚至是硬盘设备,如何找回误删文件?其实只要方法正确,史上最抓狂游戏3。将会极大地影响用户的使用,听听。elasticsearch.yml。免不了会出现u盘和硬盘一样的常见故障――数据丢失。手机存储卡中存放的数据文件被错误删除,数据。智能手机作为一个大容量存储设备,你知道机械化步兵团。它又是怎么知道该如何生成cube的了?答案自然也在AOT中:数据恢复软件免费版。
但是,看看史上最贱小游戏攻略。同时确认Bussinessproxy的账号被添加为分析服务实例的管理员。剑灵盒子。知道了使用SQL server analysis service projectwizard生成分析服务工程,万方数据。解决办法是安装补丁“Knowledgebase”,仙剑4下载。在Webpart中添加KPI时你可能会遇到错误“An unexpected error occurred while processingthe Business overview Web part. Contact your systemadministrator.”,口袋妖怪叶绿攻略。webpart属性中选择从分析服务器要显示的KPI。如果EP服务器和分析服务器不在同一台服务器上,误删。比如使用Report server的Reportbuilder工具创建报表并选择分析服务作为数据源。想知道恢复。EP:在EP页面上添加Bussiness overview web part,前任攻略插曲。你需要根据自己的环境更新其连接字符串。想知道史上最抓狂的游戏。普通SQL server reportservice报表当然也可以使用分析服务数据,连接到默认的分析服务数据库"DynamicsAX",口袋妖怪。以此数据源创建报表。AX部署报表服务时会创建一个名为DynamicsAXOLAP的数据源,我不知道flappy bird攻略。最后使用数据透视表分析cube数据。AXssrs报表:你看数据恢复。在SSRS报表中使用分析服务数据库创建一个数据源,你知道恢复。对话框中选择分析服务器、cube等,对于数据恢复。。也需要安装有SQL ServerShared Management Objects。Excel:你看魔兽秘籍。在Data工具栏上选择From other source&From analysisservice,关机命令。否则会收到XXX没有注册的错误。秘籍侠盗猎车罪恶都市。SQL management studio:点击一个cube右键菜单中选择Browse查看,保卫萝卜boss攻略。当然需要cube已经部署到服务器并处理。听听智能手机。机器上需要安装有SQL ServerShared Management Objects,其实经典好玩网络游戏。但是这一切都因为AX的“SQL serveranalysis service project wizard”(在Tools&Bussiness intelligenceBI下)而变得简单。如何。SQL server analysis service project wizard主要完成以下功能:智能手机照片被误删如何恢复。
BI Visualstudio:可以直接在打开的分析服务工程中预览数据,看着照片。定义众多Dimension耗时耗力,elasticsearch教程。因为AX表之间错综复杂的关系(打开AOT/Visualstudio projects/Analysis service projects/Dynamics Ax看看Data sourceview中那密密麻麻的关系连接线!),编译部署到分析服务器。手工创建cube分析AX的数据是件很繁琐的事情,添加Cube、Measure、Dimension、KPI等,配置信息可以在Systemadministration&Setup&Bussiness intelligence&Anaysisservice&Analysis server找到。
我们可以使用SQL server自带的分析服务工具(随SQL安装的Visual studio工具)创建Analysisservice工程,通过它指定分析服务器,所以AX的安装工具里面只有配置安装服务的选项,而Cube则是Measure和Dimension的集合。AX使用已经安装运行的SQL分析服务,比如销售月份、客户分组等,Dimension定义了观察数据的角度,比如销售额,其中最重要的概念就是Cube、Measure和Dimension。Measure是我们关注的数据,从不同维度对数据做汇总,它负责从数据源中获取数据,实际上这就是SQLserveranalysis服务实现的功能,复杂点的数据可能还需要在两个数据表间先做Lookup整理数据,分析AX的数据时常作的一件事情就是把AX的表数据导出到Excel后使用数据透视表分析,
(责任编辑:admin)
下一篇:没有了当前位置:
(2 次投票, 评分: 5.00, 总分: 5)
&Loading ...
ES索引优化篇主要从两个方面解决问题,一是索引数据过程;二是检索过程。
索引数据过程我在上面几篇文章中有提到怎么创建索引和导入数据,但是大家可能会遇到索引数据比较慢的过程。其实明白索引的原理就可以有针对性的进行优化。ES索引的过程到相对Lucene的索引过程多了分布式数据的扩展,而这ES主要是用tranlog进行各节点之间的数据平衡。所以从上我可以通过索引的settings进行第一优化:
&index.translog.flush_threshold_ops&: &100000&
&index.refresh_interval&: &-1&,
这两个参数第一是到tranlog数据达到多少条进行平衡,默认为5000,而这个过程相对而言是比较浪费时间和资源的。所以我们可以将这个值调大一些还是设为-1关闭,进而手动进行tranlog平衡。第二参数是刷新频率,默认为120s是指索引在生命周期内定时刷新,一但有数据进来能refresh像lucene里面commit,我们知道当数据addDoucment会,还不能检索到要commit之后才能行数据的检索所以可以将其关闭,在最初索引完后手动refresh一之,然后将索引setting里面的index.refresh_interval参数按需求进行修改,从而可以提高索引过程效率。
另外的知道ES索引过程中如果有副本存在,数据也会马上同步到副本中去。我个人建议在索引过程中将副本数设为0,待索引完成后将副本数按需量改回来,这样也可以提高索引效率。
“number_of_replicas”: 0
上面聊了一次索引过程的优化之后,我们再来聊一下检索速度比较慢的问题,其实检索速度快度与索引质量有很大的关系。而索引质量的好坏与很多因素有关。
一、分片数
分片数,与检索速度非常相关的的指标,如果分片数过少或过多都会导致检索比较慢。分片数过多会导致检索时打开比较多的文件别外也会导致多台服务器之间通讯。而分片数过少为导至单个分片索引过大,所以检索速度慢。
在确定分片数之前需要进行单服务单索引单分片的测试。比如我之前在IBM-3650的机器上,创建一个索引,该索引只有一个分片,分别在不同数据量的情况下进行检索速度测试。最后测出单个分片的内容为20G。
所以索引分片数=数据总量/单分片数
目前,我们数据量为4亿多条,索引大小为近1.5T左右。因为是文档数据所以单数据都中8K以前。现在检索速度保证在100ms 以下。特别情况在500ms以下,做200,400,800,+用户长时间并发测试时最坏在750ms以下.
二、副本数
副本数与索引的稳定性有比较大的关系,怎么说,如果ES在非正常挂了,经常会导致分片丢失,为了保证这些数据的完整性,可以通过副本来解决这个问题。建议在建完索引后在执行Optimize后,马上将副本数调整过来。
大家经常有一个误去副本越多,检索越快,这是不对的,副本对于检索速度其它是减无增的我曾做过实现,随副本数的增加检索速度会有微量的下降,所以大家在设置副本数时,需要找一个平衡值。另外设置副本后,大家有可能会出现两次相同检索,出现出现不同值的情况,这里可能是由于tranlog没有平衡、或是分片路由的问题,可以通过?preference=_primary 让检索在主片分上进行。
其实分词对于索引的影响可大可小,看自己把握。大家越许认为词库的越多,分词效果越好,索引质量越好,其实不然。分词有很多算法,大部分基于词表进行分词。也就是说词表的大小决定索引大小。所以分词与索引膨涨率有直接链接。词表不应很多,而对文档相关特征性较强的即可。比如论文的数据进行建索引,分词的词表与论文的特征越相似,词表数量越小,在保证查全查准的情况下,索引的大小可以减少很多。索引大小减少了,那么检索速度也就提高了。
四、索引段
索引段即lucene中的segments概念,我们知道ES索引过程中会refresh和tranlog也就是说我们在索引过程中segments number不至一个。而segments number与检索是有直接联系的,segments number越多检索越慢,而将segments numbers 有可能的情况下保证为1这将可以提到将近一半的检索速度。
$ curl -XPOST ‘http://localhost:9200/twitter/_optimize? max_num_segments =1′
五、删除文档
删除文档在Lucene中删除文档,数据不会马上进行硬盘上除去,而进在lucene索引中产生一个.del的文件,而在检索过程中这部分数据也会参与检索,lucene在检索过程会判断是否删除了,如果删除了在过滤掉。这样也会降低检索效率。所以可以执行清除删除文档。
$ curl -XPOST ‘http://localhost:9200/twitter/_optimize? only_expunge_deletes =true’
本文固定链接:
【上一篇】【下一篇】
您可能还会对这些文章感兴趣!
本月热门文章数据库错误
建立数据库连接时出错elasticsearch安装配置及中文分词
elasticsearch安装配置及中文分词
ElasticSearch是一个基于Lucene构建的开源,分布式,RESTful搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。支持通过HTTP使用JSON进行数据索引。&  我们建立一个网站或应用程序,并要添加搜索功能,令我们受打击的是:搜索工作是很难的。我们希望我们的搜索解决方案要快,我们希望有一个零配置和一个完全免费的搜索模式,我们希望能够简单地使用JSON通过HTTP的索引数据,我们希望我们的搜索服务器始终可用,我们希望能够一台开始并扩展到数百,我们要实时搜索,我们要简单的多租户,我们希望建立一个云的解决方案。Elasticsearch旨在解决所有这些问题和更多的。  以windows操作系统和ES0.19.7版本为例:&  ①下载elasticsearch-0.19.7.zip&  ②直接解压至某目录,设置该目录为ES_HOME环境变量&  ③安装JDK,并设置JAVA_HOME环境变量&  ④在windows下,运行 %ES_HOME%\bin\elasticsearch.bat即可运行分布式搜索elasticsearch单机与服务器环境搭建& & & 先到下载最新版的elasticsearch运行包,本文写时最新的是0.19.1,作者是个很勤快的人,es的更新很频繁,bug修复得很快。下载完解开有三个包:bin是运行的脚本,config是设置文件,lib是放依赖的包。如果你要装插件的话就要多新建一个plugins的文件夹,把插件放到这个文件夹中。1.单机环境:单机版的elasticsearch运行很简单,linux下直接&bin/elasticsearch就运行了,windows运行bin/elasticsearch.bat。如果是在局域网中运行elasticsearch集群也是很简单的,只要cluster.name设置一致,并且机器在同一网段下,启动的es会自动发现对方,组成集群。2.服务器环境:如果是在服务器上就可以使用elasticsearch-servicewrapper这个es插件,它支持通过参数,指定是在后台或前台运行es,并且支持启动,停止,重启es服务(默认es脚本只能通过ctrl+c关闭es)。使用方法是到下载service文件夹,放到es的bin目录下。下面是命令集合:bin/service/elasticsearch +console 在前台运行esstart 在后台运行esstop 停止esinstall 使es作为服务在服务器启动时自动启动remove 取消启动时自动启动在service目录下有个elasticsearch.conf配置文件,主要是设置一些java运行环境参数,其中比较重要的是下面的参数:#es的home路径,不用用默认值就可以set.default.ES_HOME=&Path to ElasticSearch Home&#分配给es的最小内存set.default.ES_MIN_MEM=256#分配给es的最大内存set.default.ES_MAX_MEM=1024# 启动等待超时时间(以秒为单位)wrapper.startup.timeout=300# 关闭等待超时时间(以秒为单位)wrapper.shutdown.timeout=300# ping超时时间(以秒为单位)wrapper.ping.timeout=300  以head插件为例:&  联网时,直接运行%ES_HOME%\bin\plugin -install mobz/elasticsearch-head&  不联网时,下载elasticsearch-head的zipball的master包,把内容解压到%ES_HOME%\plugin\head\_site目录下,[该插件为site类型插件]&  安装完成,重启服务,在浏览器打开 http://localhost:9200/_plugin/head/ 即可  cluster&  代表一个集群,集群中有多个节点,其中有一个为主节点,这个主节点是可以通过选举产生的,主从节点是对于集群内部来说的。es的一个概念就是去中心化,字面上理解就是无中心节点,这是对于集群外部来说的,因为从外部来看es集群,在逻辑上是个整体,你与任何一个节点的通信和与整个es集群通信是等价的。&  shards&  代表索引分片,es可以把一个完整的索引分成多个分片,这样的好处是可以把一个大的索引拆分成多个,分布到不同的节点上。构成分布式搜索。分片的数量只能在索引创建前指定,并且索引创建后不能更改。&  replicas&  代表索引副本,es可以设置多个索引的副本,副本的作用一是提高系统的容错性,当个某个节点某个分片损坏或丢失时可以从副本中恢复。二是提高es的查询效率,es会自动对搜索请求进行负载均衡。&  recovery&  代表数据恢复或叫数据重新分布,es在有节点加入或退出时会根据机器的负载对索引分片进行重新分配,挂掉的节点重新启动时也会进行数据恢复。&  river&  代表es的一个数据源,也是其它存储方式(如:数据库)同步数据到es的一个方法。它是以插件方式存在的一个es服务,通过读取river中的数据并把它索引到es中,官方的river有couchDB的,RabbitMQ的,Twitter的,Wikipedia的。&  gateway&  代表es索引的持久化存储方式,es默认是先把索引存放到内存中,当内存满了时再持久化到硬盘。当这个es集群关闭再重新启动时就会从gateway中读取索引数据。es支持多种类型的gateway,有本地文件系统(默认),分布式文件系统,Hadoop的HDFS和amazon的s3云存储服务。&  discovery.zen&  代表es的自动发现节点机制,es是一个基于p2p的系统,它先通过广播寻找存在的节点,再通过多播协议来进行节点之间的通信,同时也支持点对点的交互。&  Transport&  代表es内部节点或集群与客户端的交互方式,默认内部是使用tcp协议进行交互,同时它支持http协议(json格式)、thrift、servlet、memcached、zeroMQ等的传输协议(通过插件方式集成)。分布式搜索elasticsearch中文分词集成elasticsearch官方只提供smartcn这个中文分词插件,效果不是很好,好在国内有medcl大神(国内最早研究es的人之一)写的两个中文分词插件,一个是ik的,一个是mmseg的,下面分别介绍下两者的用法,其实都差不多的,先安装插件,命令行:安装ik插件:plugin&-install&medcl/elasticsearch-analysis-ik/1.1.0 &下载ik相关配置词典文件到config目录cd&config&&wget&/downloads/medcl/elasticsearch-analysis-ik/ik.zip&--no-check-certificate&&unzip&ik.zip&&rm&ik.zip&&安装mmseg插件:bin/plugin&-install&medcl/elasticsearch-analysis-mmseg/1.1.0&&下载相关配置词典文件到config目录cd&config&&wget&/downloads/medcl/elasticsearch-analysis-mmseg/mmseg.zip&--no-check-certificate&&unzip&mmseg.zip&&rm&mmseg.zip&&分词配置ik分词配置,在elasticsearch.yml文件中加上index:&&&&analysis:&&&&&&&&&&&&&&&&&&&&&&&&&analyzer:&&&&&&&&&&&&&&ik:&&&&&&&&&&&&alias:&[ik_analyzer]&&&&&&&&&&&&type:&org.elasticsearch.index.analysis.IkAnalyzerProvider&&或index.analysis.analyzer.ik.type&:&“ik”&&这两句的意义相同mmseg分词配置,也是在在elasticsearch.yml文件中index:&&&&analysis:&&&&&&analyzer:&&&&&&&&mmseg:&&&&&&&&&&&&alias:&[news_analyzer,&mmseg_analyzer]&&&&&&&&&&&&type:&org.elasticsearch.index.analysis.MMsegAnalyzerProvider&&或index.analysis.analyzer.default.type&:&&mmseg&&&mmseg分词还有些更加个性化的参数设置如下index:&&&&analysis:&&&&&&tokenizer:&&&&&&&&mmseg_maxword:&&&&&&&&&&&&type:&mmseg&&&&&&&&&&&&seg_type:&&max_word&&&&&&&&&mmseg_complex:&&&&&&&&&&&&type:&mmseg&&&&&&&&&&&&seg_type:&&complex&&&&&&&&&mmseg_simple:&&&&&&&&&&&&type:&mmseg&&&&&&&&&&&&seg_type:&&simple&&&这样配置完后插件安装完成,启动es就会加载插件。定义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()&&定义完后操作索引就会以指定的分词器来进行分词。&附:ik分词插件项目地址:mmseg分词插件项目地址:如果觉得配置麻烦,也可以下载个配置好的es版本,地址如下:&elasticsearch的基本用法最大的特点:&1. 数据库的 database, 就是& index&2. 数据库的 table,& 就是 tag&3. 不要使用browser, 使用curl来进行客户端操作.& 否则会出现 java heap ooxx...&curl:& -X 后面跟 RESTful :& GET, POST ...&-d 后面跟数据。 (d = data to send)&1. create:&&指定 ID 来建立新记录。 (貌似PUT, POST都可以)&$ curl -XPOST localhost:9200/films/md/2 -d '&{ &name&:&hei yi ren&, &tag&: &good&}'&使用自动生成的 ID 建立新纪录:&$ curl -XPOST localhost:9200/films/md -d '&{ &name&:&ma da jia si jia3&, &tag&: &good&}'&2. 查询:&2.1 查询所有的 index, type:&$ curl localhost:9200/_search?pretty=true&2.2 查询某个index下所有的type:&$ curl localhost:9200/films/_search&2.3 查询某个index 下, 某个 type下所有的记录:&$ curl localhost:9200/films/md/_search?pretty=true&2.4 带有参数的查询:&&$ curl localhost:9200/films/md/_search?q=tag:good&{&took&:7,&timed_out&:false,&_shards&:{&total&:5,&successful&:5,&failed&:0},&hits&:{&total&:2,&max_score&:1.0,&hits&:[{&_index&:&film&,&_type&:&md&,&_id&:&2&,&_score&:1.0, &_source& :&{ &name&:&hei yi ren&, &tag&: &good&}},{&_index&:&film&,&_type&:&md&,&_id&:&1&,&_score&:0., &_source& :&{ &name&:&ma da jia si jia&, &tag&: &good&}}]}}&2.5 使用JSON参数的查询: (注意 query 和 term 关键字)&$ curl localhost:9200/film/_search -d '&{&query& : { &term&: { &tag&:&bad&}}}'&3. update&&$ curl -XPUT localhost:9200/films/md/1 -d { ...(data)... }&4. 删除。 删除所有的:&$ curl -XDELETE localhost:9200/films&}

我要回帖

更多关于 elasticsearch书籍 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信