Скачано .90.6, Распакованный, переехал Elastic поиск в/USR/доли/elasticsearch (с CHMOD 777 -R разрешения на centosx64 6.4), переименованные кластер somethingstupid и начал сервер.Elasticsearch Java Index API Document
Установленные плагины ESHead и ESBrowser b/c Im new и нуждаются в этом (я использую Solr's nice ui). Таким образом, я знаю, что сервер работает тоже.
Я могу создать индекс с помощью ротора:
curl -XPOST 'http://localhost:9200/testindex'
и удалить его тоже:curl -XDELETE 'http://localhost:9200/testindex'
Когда я пытаюсь создать новый индекс и индексировать документ типа статьи и просмотра его с помощью Java API, Eclipse прогонов код, показывает базовое ведение журнала в консоли, а затем закрывается без ошибок. Кроме того, в моих журналах последняя строка просто показывает, что я начал искать эластичный поиск, но больше ничего. Его как код даже не достигает упругого поиска. Никаких индексов или статей не появляется после запуска java api. Что мне не хватает?
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import org.elasticsearch.client.Client;
import org.elasticsearch.node.Node;
import static org.elasticsearch.node.NodeBuilder.*;
public class PostES {
public static void main (String args[]){
PostES p = new PostES();
p.postElasticSearch();
}
public static Map<String, Object> putJsonDocument(String title, String content, Date postDate, String author){
Map<String, Object> jsonDocument = new HashMap<String, Object>();
jsonDocument.put("title", title);
jsonDocument.put("conten", content);
jsonDocument.put("postDate", postDate);
jsonDocument.put("author", author);
return jsonDocument;
}
private void postElasticSearch(){
Node node = nodeBuilder().node();
Client client = node.client();
client.prepareIndex("testindex", "article")
.setSource(putJsonDocument("Example Title",
"This description is so important. You don't even know!",
new Date(),
"J.R."))
.execute().actionGet();
node.close();
}
}
Мой источник: http://java.dzone.com/articles/elasticsearch-java-api. Все остальное, включая эластичную документацию, не получилось так или иначе ... (Метод jsonBuilder() не определен для типа PostES).
Согласно документации, я должен быть в состоянии сделать это. Но это ничего не делает либо:
import static org.elasticsearch.node.NodeBuilder.nodeBuilder;
import org.elasticsearch.action.index.IndexResponse;
import org.elasticsearch.client.Client;
import org.elasticsearch.node.Node;
public class TestPostMethod2 {
public static void main(String[] args) {
Node node = nodeBuilder().local(true).node();
Client client = node.client();
String json =
"{\"user\":\"kimchy\"," +
"\"postDate\":\"2013-01-30\"," +
"\"message\":\"trying out Elastic Search\"}";
IndexResponse response = client.prepareIndex("testindex", "article")
.setSource(json)
.execute()
.actionGet();
}
}
Проклятье ... @javanna STRIKES AGAIN !!! [Большое спасибо] – Chris