2011-06-09 66 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