2011-06-09 71 views
1

我试图使用ElasticSearch的Percolator功能;通过文档中的curl示例执行此操作非常简单,就像使用Java API渗透文档一样。我无法找到如何做的是使用Java API向Percolator注册查询 - 这是如何完成的?使用Java API使用Percolator注册ElasticSearch查询

使用文档中的示例,我将如何在Java中执行此操作?

curl -XPUT localhost:9200/_percolator/test/kuku -d '{ 
    "query" : { 
     "term" : { 
      "field1" : "value1" 
     } 
    } 
}'

回答

4

_percolator只是一个索引。

client.prepareIndex("_percolator", "test", "kuku") 
    .setSource(jsonBuilder().startObject() 
     .field("query", termQuery("field1", "value1")) 
     .endObject()) 
    .setRefresh(true) 
    .execute().actionGet() 

您还可以检查elasticsearch integration tests更多的例子:通过索引查询,你通常会索引文档使用它注册查询。

编辑:以上链接是死的,你可能想看看官方文档here关于集成测试

我还在gist上添加了旧的PercolatorTests类的要点。

+0

哦,这很简单...谢谢! – Felix 2011-06-10 10:03:45

+0

Github链接已更改为https://github.com/elasticsearch/elasticsearch/blob/master/src/test/java/org/elasticsearch/percolator/PercolatorTests.java。 – Eye 2014-01-28 09:23:25