我正在尝试使用elasticsearch-dsl实现倍数索引方法。基本上有两个步骤:
1.创建别名:
PUT /tweets_1/_alias/tweets_search
PUT /tweets_1/_alias/tweets_index
2.必要时更改别名:
POST /_aliases
{
"actions": [
{ "add": { "index": "tweets_2", "alias": "tweets_search" }},
{ "remove": { "index": "tweets_1", "alias": "tweets_index" }},
{ "add": { "index": "tweets_2", "alias": "tweets_index" }}
]
}
我只能使用elasticsearch-py(而不是dsl)实现步骤1 :
from elasticsearch.client import IndicesClient
IndicesClient(client).("tweets_1", "tweets_search")
IndicesClient(client).("tweets_1", "tweets_index")
我不知道在第二步该怎么做。那么,elasticsearch-dsl(或至少在elasticsearch-py中)的等效值是什么?
要实现,您需要使用elasticsearch-py
:
from elasticsearch import Elasticsearch
es = Elasticsearch()
# use es.indices instead of instantiating IndicesClient
es.indices.put_alias(index='tweets_1', name='tweets_search')
es.indices.put_alias(index='tweets_1', name='tweets_index')
es.indices.update_aliases({
"actions": [
{ "add": { "index": "tweets_2", "alias": "tweets_search" }},
{ "remove": { "index": "tweets_1", "alias": "tweets_index" }},
{ "add": { "index": "tweets_2", "alias": "tweets_index" }}
]
})
问题内容: 我最近开始在一家使用Elasticsearch的公司工作。尽管它的大多数概念在某种程度上类似于关系数据库,并且我能够理解它们,但我仍然不太了解别名的概念。 我在这里没有发现任何此类问题,Elasticsearch网站上提供的信息也没有太大帮助。 有人可以解释一下别名的含义,理想情况下还包括需要别名的示例吗? 问题答案: @arhak很好地涵盖了这个话题。(至少)使我理解索引的价值的一个
问题内容: 我希望我的JComboBox将多个选项组合在一起,类似于HTML : 我在Swing中找不到任何解决方案。为Combobox操纵UI渲染器似乎不是一个好主意,因为它依赖于OS和L&F(并且它们是私有的,因此无法扩展)。 问题答案: 考虑以下实现作为如何应用自定义样式和创建不可选择项目的基本指南:
问题内容: 我已经用谷歌搜索,但无法找出什么是等效的。 这是我唯一能找到的(Swift的替代方法responsesToSelector:),但在我的情况下并没有太大意义,因为它检查了委托的存在,我没有委托,我只想检查是否存在新的API在设备上运行时是否返回,如果不是,则返回原先的api版本。 问题答案: 如前所述,在 大多数情况下,您可以使用可选的unwrapper运算符来实现所需的功能。这样,当
问题内容: 您是否可以在ElasticSearch中逻辑上嵌套查询,所以一个查询的输出就是另一个查询的输入。另一种询问方式是如何将查询链接或管道连接在一起? 这应该类似于SQL中的IN运算符或子查询 即:-选择au_lname,au_fname,标题(从pubs.dbo.authors中选择au_lname,au_fname,au_id,其中state =’CA’)或 从AdventureWork
问题内容: 什么是文件,哪些代码排序应我把它付诸表决,而当我应该有一个? 问题答案: 通常,通过在命令行上命名.py文件来运行Python程序: 您还可以创建一个充满代码的目录或zipfile,并包含一个。然后,您只需在命令行上命名目录或zipfile,它就会自动执行: 您必须自己决定应用程序是否可以从这样的执行中受益。 请注意, 模块 通常不是来自文件。可以,但是通常不会。当您运行类似的脚本时,
问题内容: LINQ的Java等效项是什么? 问题答案: 现在使用Java 8向我们介绍了Stream API,这在处理集合时是类似的事情,但与Linq不太一样。 如果它是您正在寻找的ORM,例如Entity Framework,那么您可以尝试Hibernate