我正在使用批量API 从文件加载数据并正确导入。唯一的问题是,如果存在像\"
这样的转义字符,则按原样导入。
我想删除斜杠并将result
字典保存为对象或嵌套文档。
{
"req_id": "25cc4d-9cd6-499f-a439-c9",
"time": 109,
"result": "{\"ReceiveReturn\":\"00\"}",
"level": "info",
"message": "time taken for request",
"timestamp": "2015-04-17 23:59:59"
}
是否可以删除转义字符?
更新
这是一个例子......
DELETE /test_index
POST /test_index/myid/
{"_uid":1234,"id":1,"name":"someName","newProperty":"some \" and some text\"Value","status":0}
POST /test_index/_search
正如您在结果中所看到的,有一个双引号。无论如何在插入数据之前删除所有转义字符?
答案 0 :(得分:1)
您正在做的事情是正确的。实际上Elasticsearch使用settings'
from /usr/local/Cellar/ruby/2.1.5/lib/ruby/gems/2.1.0/gems/bundler-1.12.0.rc.3/lib/bundler/env.rb:28:in
以正确的方式存储文档。但是,当您使用HTTP工具运行查询时,request_issue_report_for'
from /usr/local/Cellar/ruby/2.1.5/lib/ruby/gems/2.1.0/gems/bundler-1.12.0.rc.3/lib/bundler/friendly_errors.rb:40:in
是一个JSON特殊字符,您会看到rescue in with_friendly_errors'
from /usr/local/Cellar/ruby/2.1.5/lib/ruby/gems/2.1.0/gems/bundler-1.12.0.rc.3/lib/bundler/friendly_errors.rb:98:in
。如果您在Google Chrome浏览器上使用 JSONView 查看文档,则可以看到如下实际数据:
<main>'
run bundle exec spring binstub --all
/usr/local/Cellar/ruby/2.1.5/lib/ruby/gems/2.1.0/gems/bundler-1.12.0.rc.3/lib/bundler/settings.rb:229:in