24-RestHighLevelClient----索引&映射操作


与我们kibana语法几乎无缝衔接

@SpringBootTest
public class RestHighLevelClientTest {

    private RestHighLevelClient restHighLevelClient;

    @Autowired
    public RestHighLevelClientTest(RestHighLevelClient restHighLevelClient) {
        this.restHighLevelClient = restHighLevelClient;
    }

    //添加索引&映射
    @Test
    public void testIndexAndMapping() throws IOException {
        //参数1:创建索引请求对象 参数2:请求配置对象
        CreateIndexRequest createIndexRequest = new CreateIndexRequest("products");

        //一般在kibana中写好后再复制过来
        createIndexRequest.mapping("{\n" +
                "    \"properties\": {\n" +
                "      \"title\":{\n" +
                "        \"type\": \"keyword\"\n" +
                "      },\n" +
                "      \"price\":{\n" +
                "        \"type\": \"double\"\n" +
                "      },\n" +
                "      \"created_at\":{\n" +
                "        \"type\": \"date\"\n" +
                "      },\n" +
                "      \"description\":{\n" +
                "        \"type\": \"text\",\n" +
                "        \"analyzer\": \"ik_max_word\"\n" +
                "      }\n" +
                "    }\n" +
                "  }", XContentType.JSON); //参数1:指定映射json结构   参数2:指定数据结构

        CreateIndexResponse createIndexResponse = restHighLevelClient.indices().create(createIndexRequest, RequestOptions.DEFAULT);
        System.out.println("创建状态:" + createIndexResponse.isAcknowledged());

        restHighLevelClient.close();//关闭资源
    }

    //删除索引
    @Test
    public void testDeleteIndex() throws IOException {
        //参数1:删除索引对象  参数2:请求配置对象
        AcknowledgedResponse acknowledgedResponse = restHighLevelClient.indices().delete(new DeleteIndexRequest("products"), RequestOptions.DEFAULT);
        System.out.println(acknowledgedResponse.isAcknowledged());
    }
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM