我是elasticsearch的新手,想要使用官方的Python API。我有以下代码:
from elasticsearch import Elasticsearch
es = Elasticsearch(timeout=60)
es.indices.create(index='test')
mapping={
"mappings": {
"user": {
"properties": {
"name": { "type": "text" },
"user_name": { "type": "keyword" },
"email": { "type": "keyword" }
}
},
"tweet": {
"properties": {
"content": { "type": "text" },
"user_name": { "type": "keyword" },
"tweeted_at": { "type": "date" }
}
}
}
}
es.indices.put_mapping(index='test',body=mapping)
然而,我得到了以下错误:
RequestError:RequestError(400,'mapper_parsing_exception',根映射定义有不支持的参数:[映射:{tweet={properties={tweeted_at={type=date},user_name={type=keyword},content={type=text}},user={properties={user_name={type=keyword},name={type=text},email={type=keyword key}}]
此映射复制自:https://www.elastic.co/guide/en/elasticsearch/reference/current/removal-of-types.html
谁能帮我弄清楚这里出了什么问题吗?
非常感谢
错误是告诉您您正在使用的映射格式有问题。
怎么了?
如果您正在使用ES 7(查看错误消息时,情况似乎是这样),您应该使用以下映射:
PUT twitter
{
"mappings": {
"properties": {
"type": { "type": "keyword" },
"name": { "type": "text" },
"user_name": { "type": "keyword" },
"email": { "type": "keyword" },
"content": { "type": "text" },
"tweeted_at": { "type": "date" }
}
}
}
或者使用两个不同的索引,一个用于用户,另一个用于推文。
PUT user
{
"mappings": {
"properties": {
"name": { "type": "text" },
"user_name": { "type": "keyword" },
"email": { "type": "keyword" }
}
}
}
PUT tweet
{
"mappings": {
"properties": {
"user_name": { "type": "keyword" },
"content": { "type": "text" },
"tweeted_at": { "type": "date" }
}
}
}
问题内容: 我在ubuntu上使用npm v1.0.104 / node 0.6.12-在尝试通过npm安装任何新模块时收到以下复制的错误(我之前使用http而不是https测试了socket.io,但我想知道是否可以导致npm / unsigned证书出现问题)。一旦npm尝试解析“ https://registry.npmjs.org ” URL,该错误就会弹出。无论如何,我可以忽略该错误,或
我正在跑步: 乌班图 14.04 节点 v0.10.25 国家预防控制与预防机制 v 1.3 通过apt-get安装安装了NPM。当我尝试安装Gulp(请参阅代码片段中的命令)时,我遇到了这些失败。我已经尝试过“npm缓存清理”,添加.npmignore文件并添加包。json文件。到目前为止没有任何效果。 有什么想法吗?
问题内容: 我是mysql和jdbc的新手,但出现此标题错误。我整天都在搜索,找不到适合我的解决方案。 我尝试过的操作:卸载/重新安装mysql,将mysql-connector- java-5.1.25-bin.jar和ojdbc7.jar复制粘贴到与我要运行的.class文件相同的位置,然后将该程序重建在其他目录中,可能还有其他几件事。 我正在使用notepad ++进行编码,并使用Windo
问题内容: 我已经安装了Celery,并且正在尝试使用Celery First Steps Doc 对其进行测试。 我尝试将Redis和RabbitMQ都用作代理和后端,但无法获得结果: 每次,我都会收到此错误: 经纪人部分似乎工作得很好:当我运行这段代码时 我得到了(按预期) [2015-08-04 12:05:44,910:INFO / MainProcess]收到的任务:tasks.add
我正在尝试仅使用本地依赖项编译和运行java grpc客户端,但出现以下错误: 这是我的gradle文件: 程序将编译,但不运行。我已经从protos生成了我的java文件,并验证了我是否使用了正确的protoc和protoc gen grpc java与我正在使用的jar库相对应。非常感谢您的帮助。
我收到一个奇怪的错误。在我初始化总数的线上。如果你有空闲时间帮我,我不明白; 第10行:Char 24:运行时错误:-inf超出了“int”(solution.cpp)类型的可表示值的范围摘要:UndefinedBehaviorSanitizer:undefined behavior prog_joined。cpp:19:24