小编Ami*_*wal的帖子

ElasticSearch 启动错误——默认发现设置不适合生产使用;

我试过在 elasticsearch.yaml 文件中给出以下配置

network.host: aa.bbb.ccc.dd 那是我的 IPv4 地址和 http.port: 9200

当我尝试在我的 Windows 机器上运行 elasticsearch.bat 时,对此的响应如下:

the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured

我真的不太确定为集群初始化配置什么。默认值为 discovery.seed_hosts: ["host1", "host2"]cluster.initial_master_nodes: ["node-1", "node-2"]

startup elasticsearch elasticsearch-7

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

如何使用Jersey 2.x设置连接和读取超时?

在球衣1中,我们在类中有一个函数setConnectTimeoutcom.sun.jersey.api.client.Client.

在球衣2中,javax.ws.rs.client.Client该类用于缺少此功能的地方.

如何在泽西2.x中设置连接超时和读取超时?

java jersey

48
推荐指数
2
解决办法
6万
查看次数

重试MySQL/SQLAlchemy的死锁

我已经搜索了很长时间,但无法找到问题的解决方案.我们将SQLAlchemy与MySQL结合用于我们的项目,我们遇到了几次可怕的错误:

1213,'试图锁定时发现死锁; 尝试重启事务'.

在这种情况下,我们想尝试最多重启三次交易.

我已经开始编写一个装饰器来执行此操作,但我不知道如何在失败之前保存会话状态并在之后重试相同的事务?(因为SQLAlchemy在引发异常时需要回滚)

我到目前为止的工作,

def retry_on_deadlock_decorator(func):
    lock_messages_error = ['Deadlock found', 'Lock wait timeout exceeded']

    @wraps(func)
    def wrapper(*args, **kwargs):
        attempt_count = 0
        while attempt_count < settings.MAXIMUM_RETRY_ON_DEADLOCK:
            try:
                return func(*args, **kwargs)
            except OperationalError as e:
                if any(msg in e.message for msg in lock_messages_error) \
                        and attempt_count <= settings.MAXIMUM_RETRY_ON_DEADLOCK:
                    logger.error('Deadlock detected. Trying sql transaction once more. Attempts count: %s'
                                 % (attempt_count + 1))
                else:
                    raise
            attempt_count += 1
    return wrapper
Run Code Online (Sandbox Code Playgroud)

python mysql sqlalchemy database-deadlocks

24
推荐指数
1
解决办法
5550
查看次数

git pull和git reset之间有什么区别--hard origin/<branch>?

我发现后者比第一个更快,所以git fetch每当我需要将本地分支与远程同步时,我通常会这样做.有什么区别,如果有的话?

git version-control git-pull

16
推荐指数
2
解决办法
4707
查看次数

如何在AWS中获取RDS实例的IP地址

关于如何在AWS中获取RDS实例的IP地址的问题,我在互联网上到处都得到了相同的答案,但我不知道它是什么dig,以及如何使用它.

如何在VPC中为RDS实例分配IP地址?

请帮我在AWS中找到我的RDS实例的IP地址.

提前致谢

rds amazon-vpc

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

Hibernate OneToOne映射实体将所有属性设置为null

使用Hibernate 5,Spring 4

请考虑以下代码和两个实体之间的映射:

用户类

@OneToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL, mappedBy = "user")
private TruckOwner truckOwner;
Run Code Online (Sandbox Code Playgroud)

//下面的getter setters

TruckOwner类

@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "user_id", nullable = false)
private User user;
Run Code Online (Sandbox Code Playgroud)

//下面的getter setter

当我的代码尝试更新user类中的值时,如下面的代码: UserServiceImpl类

@Override
@Transactional(propagation = Propagation.REQUIRED, readOnly = false)
public void resetPassword(Long userId,String newPassword) {

    User user = userDAO.findById(userId);

    user.setPassword(newPassword);
    System.out.println(user.getTruckOwner().getTruckOwnerId());     
    userDAO.merge(user);
}
Run Code Online (Sandbox Code Playgroud)

在调用时userDAO.merge(user);我得到以下错误: 非瞬态实体具有空id:com.mymodel.TruckOwner

我在项目的许多地方遇到这种问题,请帮我解决这个问题,为什么TruckOwner类的所有内容都由hibernate设置?

java mapping spring hibernate one-to-one

11
推荐指数
1
解决办法
1422
查看次数

ReplaceAll与java8 lambda函数

给出以下变量

templateText = "Hi ${name}";
variables.put("name", "Joe");
Run Code Online (Sandbox Code Playgroud)

我想使用以下代码(不起作用)将值占位符$ {name}替换为值"Joe"

 variables.keySet().forEach(k -> templateText.replaceAll("\\${\\{"+ k +"\\}"  variables.get(k)));
Run Code Online (Sandbox Code Playgroud)

但是,如果我采用"旧式"的方式,一切都很完美:

for (Entry<String, String> entry : variables.entrySet()){
    String  regex = "\\$\\{" + entry.getKey() + "\\}";          
    templateText =  templateText.replaceAll(regex, entry.getValue());           
   }
Run Code Online (Sandbox Code Playgroud)

当然我在这里遗漏了一些东西:)

java lambda java-8

9
推荐指数
2
解决办法
6457
查看次数

记录通过 ElasticSearch 高级 Java 客户端构建的用于调试的 JSON 查询?

我在 Spring Boot 应用程序中使用 ElasticSearch 高级客户端 Java API。我想记录使用高级客户端 API 构建的查询以进行调试。

我的问题是我的 application.properties 文件中需要什么样的设置才能打开从我的应用程序构建的 JSON 查询?

我在 application.properties 文件中尝试了以下属性。但是,它不会打印使用各种查询构建器构建的 JSON 查询。

logging.level.org.elasticsearch.client=TRACE
logging.level.org.elasticsearch.client.sniffer=TRACE
logging.level.org.elasticsearch=TRACE
Run Code Online (Sandbox Code Playgroud)

logging elasticsearch resthighlevelclient

9
推荐指数
2
解决办法
2484
查看次数

集群已打开最大分片

我正在使用 Windows 10 并且我得到

Elasticsearch 异常 [type=validation_exception, reason=Validation Failed: 1: 此操作将添加 [2] 个总分片,但该集群当前有 [1000]/[1000] 个最大分片打开;]

我该如何解决这个问题?我不介意丢失数据,因为它只在本地运行。

elasticsearch

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

如何在 Elasticsearch 中对关键字字段进行不区分大小写的搜索而不重新建立索引?

我有一个这样的关键字字段:

"address": {
   "type": "keyword"
}
Run Code Online (Sandbox Code Playgroud)

该值以驼峰式大小写形式编写,因为它是用于显示的。例如“1/10 某处路,某处 AAA 3333”

现在,我想对该字段进行不区分大小写的搜索,最好不要重新索引整个索引

到目前为止我发现它match可以用于不区分大小写的搜索,但仅适用于text字段。

我唯一的选择是重新索引,例如通过text字段或使用小写/自定义标准化器/分析器?有什么办法可以在不重新索引的情况下做到这一点?

elasticsearch elasticsearch-query

8
推荐指数
1
解决办法
1万
查看次数