我正在使用OpenSearch Java 客户端对 AWS 提供的 OpenSearch 中存储的现有文档实施批量更新操作。
请求BulkRequest对象如下所示:
BulkRequest request = new BulkRequest.Builder().operations(o -> o.update(u -> u.index(indexName).id(String.valueOf(id)).document(doc))).build();
openSearchClient.bulk(request);
Run Code Online (Sandbox Code Playgroud)
该doc对象是一个 POJO 对象,反映索引内的文档。
public class ProgramSelectionInfoBase implements Serializable {
private static final long serialVersionUID = 6880667215923483985L;
private long id;
private String status35;
// other fields, getters, setters.
}
Run Code Online (Sandbox Code Playgroud)
我收到的响应是400 Bad Request
在调试模式下,解析的批量请求看起来与批量更新文档中应有的不同。它缺少"doc"父对象,该对象应该包装部分更新的文档:
{ "update" : { "_id" : "361710", "_index" : "program_search" }}
{ "status35": "draft" }. <- doc is missing. …Run Code Online (Sandbox Code Playgroud) 我的应用程序基于弹簧启动.我想创建一个应用程序启动后应该只运行一次的任务.
目前,我正在研究两种解决方案:
使用@Scheduled和boolean属性,它应该确定逻辑shold是否运行.
@Scheduled
public void method(){
if(method_run_propery){
//do something;
}
}
使用Quartz.但我以前没用过.
请告诉我在这种情况下使用的最佳方法是什么.
我的查询方法返回实体列表:
@Query("select u from ProfileDMO p inner join p.userPrincipal u where p.id=:profileId")
List<UserPrincipalDMO> findUserPrincipalByProfileId(@Param("profileId") long profileId);
Run Code Online (Sandbox Code Playgroud)
我只需要第一个结果。目前,我正在用来List.get(int index)获取第一个元素。
有谁知道我应该如何更新我的查询方法以仅返回第一个结果?
我想收到以下 YAML 文件:
---
classes:
- apache
- ntp
apache::first: 1
apache::package_ensure: present
apache::port: 999
apache::second: 2
apache::service_ensure: running
ntp::bla: bla
ntp::package_ensure: present
ntp::servers: '-'
Run Code Online (Sandbox Code Playgroud)
解析后,我收到这样的输出:
---
apache::first: 1
apache::package_ensure: present
apache::port: 999
apache::second: 2
apache::service_ensure: running
classes:
- apache
- ntp
ntp::bla: bla
ntp::package_ensure: present
ntp::servers: '-'
Run Code Online (Sandbox Code Playgroud)
在这里,我找到了赋予文档样式可能性的属性。我试图设置 line_break 和 indent,但它不起作用。
with open(config['REPOSITORY_PATH'] + '/' + file_name, 'w+') as file:
yaml.safe_dump(data_map, file, indent=10, explicit_start=True, explicit_end=True, default_flow_style=False,
line_break=1)
file.close()
Run Code Online (Sandbox Code Playgroud)
请给我建议设置输出样式的简单方法。
我没有在java中处理图像的经验.我的目标是结合几个图像.更详细一点,我有一个模板图像和一些其他图像.我想将这些图像放在特定位置的模板图像中.例如:
模板图片:
具体形象:
因此,我想将狗图像放在猫的图像位置并存储创建的图像.
请告诉我最简单的方法是什么?
我在我的代码中执行减法运算,并将接收的结果转换为字符串.结果可能大于0或负数.如果结果为否定,则" - "会自动添加到结果字符串中.
我需要添加'+'符号,如果我收到了正确的结果.请告诉我最简单的方法.
我的代码:
return String.valueOf(settlingScoreMap.get(market.getSettlingScore()).getAway()
- settlingScoreMap.get(market.getSettlingScore()).getHome());
Run Code Online (Sandbox Code Playgroud) java ×3
imagej ×1
javafx ×1
jpa ×1
opensearch ×1
python-2.7 ×1
pyyaml ×1
quartz-core ×1
spring ×1
swing ×1