ElasticSearchLinux安装和springboot整合的记录和遇到的问题
ElasticSearch在Linux上的安装和Spring Boot整合可以参考以下步骤和代码示例:
安装ElasticSearch
下载ElasticSearch:
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.0-linux-x86_64.tar.gz
解压缩:
tar -xvf elasticsearch-7.10.0-linux-x86_64.tar.gz
移动到合适的目录:
mv elasticsearch-7.10.0 /usr/local/elasticsearch
更改
elasticsearch
用户的权限,因为ElasticSearch不能以root用户运行:sudo chown -R 用户名:用户组 /usr/local/elasticsearch
修改配置文件
/usr/local/elasticsearch/config/elasticsearch.yml
,设置网络相关配置:network.host: 0.0.0.0 http.port: 9200
启动ElasticSearch:
cd /usr/local/elasticsearch/bin ./elasticsearch
Spring Boot整合ElasticSearch
添加依赖到
pom.xml
:<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-elasticsearch</artifactId> </dependency> <!-- 其他依赖 --> </dependencies>
配置
application.properties
或application.yml
:spring.data.elasticsearch.cluster-name=elasticsearch spring.data.elasticsearch.cluster-nodes=localhost:9300 spring.elasticsearch.rest.uris=http://localhost:9200
创建实体类和Repository接口:
@Document(indexName = "example_index") public class ExampleEntity { @Id private String id; // 其他属性 } public interface ExampleRepository extends ElasticsearchRepository<ExampleEntity, String> { // 自定义查询方法 }
使用Repository进行操作:
@Service public class ExampleService { @Autowired private ExampleRepository repository; public ExampleEntity getById(String id) { return repository.findById(id).orElse(null); } public ExampleEntity save(ExampleEntity entity) { return repository.save(entity); } // 其他方法 }
- 启动Spring Boot应用并测试ElasticSearch整合。
注意:
- 确保ElasticSearch实例正在运行并可以访问。
- 如果ElasticSearch运行在非标准端口,请确保在
application.properties
中正确配置。 - 如果遇到权限问题,请确保ElasticSearch的运行用户有足够权限访问相关文件和端口。
- 如果遇到版本兼容问题,请确保Spring Boot依赖的版本与ElasticSearch版本相兼容。
评论已关闭