下载 .90.6,解压,将 Elastic Search 移至 /usr/share/elasticsearch(在 centosx64 6.4 上具有 chmod 777 -R 权限),将集群重命名为somethingstupid并启动服务器。
安装的插件ESHead和ESBrowser b/c 我是新的并且需要它(我习惯了 Solr 的漂亮 ui)。这样我就知道服务器也在运行。
我可以通过 curl 创建索引:
curl -XPOST 'http://localhost:9200/testindex'
也可以删除它:curl -XDELETE 'http://localhost:9200/testindex'
当我尝试创建一个新索引并为 article 类型的文档建立索引并通过 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();
}
}