当前位置: 首页 > 知识库问答 >
问题:

使用Java高级rest客户端的Spring数据弹性搜索[已关闭]

景靖琪
2023-03-14

我们不允许寻求书籍、工具、软件库等推荐的问题。你可以编辑这个问题,以便用事实和引用来回答。

我是弹性搜索的初学者,正在寻找将弹性搜索与Spring boot相结合的最佳方式。

我不确定使用以下哪一项:-

>

  • Spring数据弹性搜索

    开玩笑

    谢谢

  • 共有1个答案

    缪修德
    2023-03-14

    这取决于您希望如何与 ES 交互。

    如果您想在弹性搜索之上使用ORM对文档执行CRUD操作,那么Spring数据弹性搜索就是要走的路。但请注意,Spring数据ES落后于最新的ES版本,因此根据您的ES版本,集成Spring数据ES(通过Spring启动)可能更困难。

    另外两个是更通用的客户端,它允许您使用ES做几乎任何事情。

    JEST是一个不错的选择,长期以来一直是我最喜欢的选择之一,因为弹性搜索缺乏一个真正好的REST客户端。

    Java 高级 REST 客户端越来越受关注,因为 Elastic 投入了更多的精力(因为传输客户端正在消失)。这个的最大优点是它是 Elastic 支持的官方 REST 客户端,并且提供了与请求/响应 DSL 的良好集成,而 JEST 却没有。

    更新

    要将REST客户端与Spring Boot集成,您可以像对任何其他依赖项那样做,就像这样,创建一个配置bean,然后根据需要自动连接该依赖项:

    /** Configuration Bean */
    @Configuration
    public class ElasticsearchConfig {
    
        @Value("${elasticsearch.host}")
        private String host;
    
        @Value("${elasticsearch.port}")
        private int port;
    
        @Bean
        public RestClient restClient() {
            return RestClient.builder(new HttpHost(host, port)).build();
        }
    }
    
    // use the dependency in your other components/services, using dependency injection
    @Autowired
    private RestClient restClient;
    
     类似资料:
    • 我对弹性搜索和Spring都不熟悉。我已经编写了一个Javascript POC,它将JSON字符串转换为Elasticsearch查询(并执行请求)。它需要这样的字符串: (注意:此查询可能有任何嵌套级别) ... 并将其转化为: 它首先为第一次访问Elasticsearch创建一个查询(类似于上述),以提取构建此查询所需的一些信息(“链接”)。每次访问Elasticsearch都可能返回数百万

    • 我正在尝试将我的弹性搜索(6.6.1)、spring boot(2.1.3)应用程序从Java8迁移到Java11。之前,我使用高级java rest客户端创建和搜索索引。因为存在一个问题(https://github.com/elastic/elasticsearch/issues/38299)在模块化高级rest客户端api时,我试图使用低级rest客户端,但无法获得任何搜索结果。 请看一些代

    • 通过以下命令,我可以查看弹性搜索部署的endpoint,并且从Postman那里没有任何问题:GET https://:@d97215aee2.us-east-1.aws.found.io:9243 我也可以使用邮递员的这个命令创建索引...将https://el弹力:4yqimxfosz9mxpgy1fj7t5bu@d97218f74f6d48489b355dd7d665aee2.us-east

    • 我有一个在spring boot应用程序中创建弹性搜索索引的代码。目前使用的客户端是transport客户端,它现在根据弹性搜索文档进行折旧,现在被高级Rest客户端取代。 用于使用高级Rest客户端创建索引。我见过这个代码。 这里的fieldsMapping是一个json文件,它包含有关analyzer、tokenizer和filter的详细信息,并作为字符串传递给这个方法。我无法在java r

    • 在es中搜索时,如何使用spring的rest模板或elasticsearch自己的高/低rest客户端,我左右为难。与spring rest模板相比,es客户端是否提供了HTTP连接池、性能等方面的任何优势。这两个模板中的哪一个在从服务器获取响应时花费的时间更少。请有人解释一下?

    • 我们正在spring boot开发一个弹性搜索应用程序。我们不能使用弹性搜索提供的Java API或Java Rest客户端API。相反,我们需要使用spring的rest模板在弹性中进行操作,但是弹性似乎不接受来自rest客户端的索引请求,我们得到了“不接受”的回复。如果有人给我们一些提示或信息,我真的很感激。 弹性版:5.6