我试图使用弹性搜索Java API创建两个文档,一个构建另一个的子文档。
public void createRecord(Road road, Car car) throws Exception{
ObjectMapper objectMapper = new ObjectMapper();
String roadJson = objectMapper.writeValueAsString(road);
String carJson = objectMapper.writeValueAsString(car);
Client client = TransportClient.builder().build().addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("localhost"), 9300));
IndexResponse response = client.prepareIndex("myIndex", "roadType").setSource(roadJson).get();
client.prepareIndex("myIndex", "carType").setParent(response.getId()).setSource(carJson).get();
}
看起来您没有将“CarType”映射配置为将“RoadType”指定为父级。
"mappings": {
"roadType": {
"properties": {
}
},
"carType": {
"_parent": {
"type": "roadType"
},
"properties": {
"make": {
"type": "string"
},
"model": {
"type": "string"
}
}
}
}
有关更多信息,请参见:https://www.elastic.co/guide/en/elasticsearch/guide/current/parent-child-mapping.html
我们在Liferay中有一个名为发布的自定义实体。它在弹性搜索中建立了索引,并包含一个名为“Journal alArticleId”的字段。 根据我们的搜索要求,如果一些用户在期刊文章中搜索任何关键字,我们必须返回包含相应期刊的“journalArticleId”的发布文档。 我找到了使用Java API实现这个的解决方案,但我正在寻找Liferay API来解决这个问题。 弹性搜索亲子数据搜索J
如果弹性文档中提到长度超过上面的ignore_设置的字符串将不会被索引或存储,请任何人帮助解释关于上述ignore的疑问。对于字符串数组,上面的ignore_将分别应用于每个数组元素,长度大于上面的ignore_的字符串元素将不会被索引或存储。 这是否意味着,如果我添加的数据长于长度,那么它将不允许在ES中发布数据 https://www.elastic.co/guide/en/elasticse
我使用Spring数据弹性搜索用于搜索/缓存目的。我需要执行一个使用child(TermCache)和parent(ConceptCache)属性的查询,并返回子对象的实例(这意味着我不能使用嵌套对象)。 我有以下结构: 我需要一个关于如何处理这类任务的提示;我应该使用两个单独的查询,还是应该以某种方式获取父对象的属性,或者其他什么?
我在启动弹性搜索时有以下错误。弹性搜索是通过Ansibles进行的:
来源完全错误... 希望有人能帮助马克
由于已经有很多关于连字符的问题,我已经尝试了以下解决方案: 使用字符筛选器:ElasticSearch-在名称中使用连字符进行搜索。 所以我做了这个映射: 所以char筛选器似乎没有在搜索字符串上执行?我该怎么做才能让它起作用?