gpt4 book ai didi

java - Spring-data-elasticsearch “nested query throws [nested] failed to find nested object under path”异常

转载 作者:行者123 更新时间:2023-12-02 23:15:42 26 4
gpt4 key购买 nike

我有2个POJO(人和车),其中一个由另一个人引用

@Document(indexName = "person", type = "user")
public class Person {

@Id
private String id;

private String name;

@Field(type = FieldType.Nested)
private Car car;

//getter and setter
}

这是Car对象,被称为嵌套在Person对象中
public class Car {

private String name;

private String model;

//getter and setter
}

这是我的REST终点。在这里,我试图返回具有给定汽车模型的人。我将汽车模型作为路径变量发送,并且正在创建 QueryBuilder对象
@RequestMapping(value = "/api/{carModel}")
public List<Map<String,Object>> search(@PathVariable final String carModel) {
QueryBuilder queryBuilder = QueryBuilders.nestedQuery(
"car",
QueryBuilders.boolQuery().must(QueryBuilders.matchQuery("car.model", carModel)),
ScoreMode.None);

final SearchRequestBuilder searchRequestBuilder = client.prepareSearch("person")
.setTypes("user")
.setSearchType(SearchType.QUERY_THEN_FETCH)
.setQuery(queryBuilder);

final SearchResponse response = searchRequestBuilder.get();

List<Map<String,Object>> resultList = new ArrayList<>();
List<SearchHit> searchHits = Arrays.asList(response.getHits().getHits());
for (SearchHit hit : searchHits) {
resultList.add(hit.getSourceAsMap());
}

return resultList;
}
final SearchResponse response = searchRequestBuilder.get();发生异常,提示 java.lang.IllegalStateException: [nested] failed to find nested object under path [car]
"nested" : {
"query" : {
"bool" : {
"must" : [
{
"match" : {
"car.model" : {
"query" : "gt200",
"operator" : "OR",
"prefix_length" : 0,
"max_expansions" : 50,
"fuzzy_transpositions" : true,
"lenient" : false,
"zero_terms_query" : "NONE",
"auto_generate_synonyms_phrase_query" : true,
"boost" : 1.0
}
}
}
],
"adjust_pure_negative" : true,
"boost" : 1.0
}
},
"path" : "car",
"ignore_unmapped" : false,
"score_mode" : "none",
"boost" : 1.0
}
}]; nested: IllegalStateException[[nested] failed to find nested object under path [car]]; }{[5uefqk2YT0ahmj3s-S1cvw][person][1]:

我该如何解决这个问题?

最佳答案

请设置“ignore_unmapped”:true,很可能会解决您的问题

关于java - Spring-data-elasticsearch “nested query throws [nested] failed to find nested object under path”异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55311922/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com