我想添加数据以及更新我的弹性搜索索引。由于我对弹性搜索客户端不是很有经验,所以我尝试使用 jQuery 来处理所有事情。
要添加数据,我首先检查最高的id
,然后我想通过 PUT 发送一个 JSON 对象。
var persondata = {
"field1": $('#field1').val(),
"field2": $('#field2').val(),
"field3": $('#field3').val()
};
$.ajax({
type: "POST",
url: 'http://localhost:9200/_search',
dataType: 'json',
data: JSON.stringify( { "query" : { "match_all" : {} }, "sort": [ { "_uid": "desc" } ] } )
})
.done(function( result ){
var highestid = parseInt(result.hits.hits[0]._id, 10) + 1;
$.ajax({
type: "PUT",
url: 'http://localhost:9200/mytable/persons/'+ highestid,
dataType: 'json',
data: JSON.stringify( persondata )
});
});
通过 curl 添加数据,我找到了以下代码:
curl -XPUT "http://localhost:9200/movies/movie/1" -d'
{
"title": "The Godfather",
"director": "Francis Ford Coppola",
"year": 1972
}'
(来源:http: //joelabrahamsson.com/elasticsearch-101/)
由于我的代码不起作用,我想知道我是否也需要在之后的“-d” id
。当然,我试图简单地添加它,但它不起作用。
这个“-d”是干什么用的?
另外,我必须怎么做才能通过 jQuery 将数据添加到我的弹性搜索索引?