我正在将嵌入式Elasticsearch与Spring Boot结合使用,并且尝试使用批注来配置设置和映射。我遵循了该教程,该教程说明了如何实现对多个字段的搜索。无论如何,我已经定义了settings.json和mappings.json在我的文档实体所描述的在这里,但它好像它不读文件,因为卷曲荷兰国际集团的映射关系中的文件定义不返回相应的配置。
索引是通过春季批处理执行的。它从数据库读取数据并将其写入elasticsearch。这很完美。
当我向http:// localhost:9200 / profile / _search发出POST请求时,没有任何结果(应该返回7项):
{
"size": 10,
"query": {
"match": {
"_all": {
"query": "user male",
"operator": "and"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果我将查询更改为“ user5”,它将使用该昵称返回用户。
如果有人可以给我提示,我将不胜感激。配置有什么问题?
配置
@Configuration
@EnableElasticsearchRepositories(basePackages ="com.company.searchengine.repository")
public class ElasticSearchConfiguration {
@Value("${elasticsearch.clustername}")
private String esClusterName;
@Bean
public ElasticsearchOperations elasticsearchTemplate() throws IOException {
return new ElasticsearchTemplate(nodeBuilder().local(true).clusterName
(esClusterName).node()
.client());
}
}
Run Code Online (Sandbox Code Playgroud)
文件
@EqualsAndHashCode(of = "uuid")
@ToString(exclude = "uuid")
@NoArgsConstructor(onConstructor = @__({@JsonCreator}))
@Getter
@Setter
@Document(indexName = …Run Code Online (Sandbox Code Playgroud) 我有一个看起来像这样的表:
C_ID P_ID KEY VALUE
null null KEY1 VALUE1
null null KEY2 VALUE2
null null KEY3 VALUE3
2 2 KEY4 VALUE4
2 3 KEY5 VALUE5
Run Code Online (Sandbox Code Playgroud)
我想得到这个结果表/视图:
C_ID P_ID KEY1 KEY2 KEY3 KEY4 KEY5
NULL NULL VALUE1 VALUE2 VALUE3 NULL NULL
2 2 NULL NULL NULL VALUE4 NULL
2 3 NULL NULL NULL NULL VALUE5
Run Code Online (Sandbox Code Playgroud)
有谁有想法我怎么能做到这一点?我尝试过:
select * from (select c_id, p_id, r_key, r_value from s_projectroles) pivot (max(r_value) for r_key in (any));
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
ORA-00936: Ausdruck fehlt
00936. 00000 - "missing expression"
Run Code Online (Sandbox Code Playgroud)