相关疑难解决方法(0)

从Java添加映射到类型 - 我该怎么做?

我试图或多或少地使用Java API 重新创建此示例.

我认为我只需要为索引添加映射,但Java API文档并不清楚如何执行此操作.

请告诉我如何在Java中创建一个与文档中的示例等效的映射:

curl -X PUT localhost:9200/test/tweet/_mapping -d '{
    "tweet" : {
        "_ttl" : { "enabled" : true, "default" : "1d" }
    }
}'
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

package foo;

import static org.elasticsearch.common.xcontent.XContentFactory.jsonBuilder;

import java.io.IOException;

import org.elasticsearch.action.admin.indices.create.CreateIndexRequestBuilder;
import org.elasticsearch.action.admin.indices.delete.DeleteIndexRequestBuilder;
import org.elasticsearch.action.admin.indices.exists.indices.IndicesExistsResponse;
import org.elasticsearch.action.get.GetRequestBuilder;
import org.elasticsearch.action.get.GetResponse;
import org.elasticsearch.action.index.IndexRequestBuilder;
import org.elasticsearch.client.Client;
import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.common.settings.ImmutableSettings;
import org.elasticsearch.common.transport.InetSocketTransportAddress;
import org.elasticsearch.common.xcontent.XContentBuilder;

public class MyTestClass {

    private static Client getClient() {
        ImmutableSettings.Builder settings = ImmutableSettings.settingsBuilder();
        TransportClient transportClient = new TransportClient(settings);
        transportClient …
Run Code Online (Sandbox Code Playgroud)

java elasticsearch

43
推荐指数
3
解决办法
4万
查看次数

如何为Elasticsearch自定义插件编写测试?

我创建自定义Elasticsearch插件.现在我想为这个插件编写一个测试.我的期望是 - 我可以运行嵌入式Elasticsearch实例,正确设置它然后做一些测试(索引一些文档,然后查询它)

问题是我无法正确设置我的插件

自定义插件代码正在解析JSON查询并设置一些对象供以后使用:

public class CustomQueryParserPlugin extends AbstractPlugin {
    public static final String PLUGIN_NAME = "custom_query";
    private final Settings settings;

    @Inject
    public CustomQueryParserPlugin (Settings settings) {
        this.settings = settings;
    }

    @Override
    public String name() {
        return PLUGIN_NAME;
    }

    @Override
    public String description() {
        return "custom plugin";
    }

    public void onModule(IndicesQueriesModule module) {
        module.addQuery(new CustomQueryParser(settings));
    }
}
Run Code Online (Sandbox Code Playgroud)

测试代码:

public class CustomParserPluginTest extends ElasticsearchSingleNodeTest {

    private static Node newNode() {
        final Settings settings = ImmutableSettings.builder()
                .put(ClusterName.SETTING, …
Run Code Online (Sandbox Code Playgroud)

java elasticsearch

25
推荐指数
1
解决办法
2538
查看次数

在Java API的Elastic Search中创建索引

我使用以下代码在Elastic Search,Default JAVA API中创建索引:

    Settings settings = ImmutableSettings.settingsBuilder().put("cluster.name", "myClusterName").put("client.transport.sniff", true).build();
    Client client = new TransportClient(settings).addTransportAddress(new InetSocketTransportAddress("localhost", 9200));
    CreateIndexRequestBuilder createIndexRequestBuilder = client.admin().indices().prepareCreate("test1");
    CreateIndexResponse response = createIndexRequestBuilder.execute().actionGet();
    System.out.println(response.isAcknowledged());  
Run Code Online (Sandbox Code Playgroud)

REST服务:

    HttpURLConnection con = null;
    try
    {
        String url = "http://localhost:9200/test2";

        URL resturl = new URL(url);
        con = (HttpURLConnection) resturl.openConnection();

        con.setDoOutput(true);
        con.setRequestMethod("PUT");
        BufferedReader in = null;
        try
        {
            if (con.getInputStream() != null)
            {
                in = new BufferedReader(new InputStreamReader(con.getInputStream()));
            }
        }
        catch (IOException e)
        {
            if (con.getErrorStream() != null)
            {
                in = new BufferedReader(new InputStreamReader(con.getErrorStream())); …
Run Code Online (Sandbox Code Playgroud)

java elasticsearch

12
推荐指数
3
解决办法
3万
查看次数

标签 统计

elasticsearch ×3

java ×3