首页 > 编程知识 正文

elasticsearch 索引,elasticsearch怎么用

时间:2023-05-05 18:41:04 阅读:149114 作者:2434

上一篇阐述了向ES迁移index的方式,这具体说明如何迁移

既然要迁移,就必须考虑对现有业务的影响。 为了避免对现有业务的影响,这里是ES别名 _aliases

别名简单地说,就像是代号。 例如,你是xxdgq (好久没碰过这个名字了吗~ )。 在你的公司里,你的代号叫开发。 我知道我叫开发,你就叫你。 有一天你跳槽,做测试,新人接替你之前的岗位,在那里又叫xxdgq,新来

ES的别名_aliases可以为旧的索引库old_index设置别名,如上所述。 例如,别名为index_query,无论是java程序、python还是其他程序,都为我并不关心谁是真的开发,我只需要找到开发而已,别名也是这个道理。 将旧索引库old_index中的数据导入到新索引库new_index中后,不就可以将旧索引库的别名移动到新索引库了吗? 无需变更程序的设定文件和代码。 方便吗

当然,细心的人在移动别名的过程中,可能会想一个问题,就是调查的库是不是错了。 哈哈,这个问题ES当然也在考虑。 我们可以同时删除和添加相同的别名。 此操作在ES上为只需要用这个别名 index_query 去查就行。 没有那个瞬间的切换问题。 平静的行人很放心~

什么,怎么用不太清楚? 好的,进入代码吧。 进入句子。

原子性

//给某个索引库取别名post/_ aliases { ' actions ' : [ { ' add ' : } ' index ' : ' old _ index ',并加上' alias ' _ aliases { ' actions ' : [ { ' remove ' 3360 ' index ' 3360 ' index _ query ' }//删除某个索引程序_ aliases { ' actions ' 3360 [ { ' remove ' 3360 ' index _ query ' },{ ' add ' : { ' index ' } }

searchsourcebuilderbuilder=newsearchsourcebuilder (; searchrequestrequest=new search request (index _ query ); builder.query (query builders.term query (' field1',' JAVA ' ) ); bilder.size(5000; request.source(builder; searchresponsesearch=resthighlevelclient.search (request,RequestOptions.DEFAULT );给ES索引库加别名:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。