我正在尝试使用Java API通过Elasticsearch实现内部匹配,但是我找不到关于它的许多文档或其他人正在使用的示例。我的JSON搜索工作如下:
{
"query": {
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"nested": {
"path": "locations",
"filter": {
"geo_distance": {
"distance": "20km",
"locations.address.geoLocation": {
"lat": 38.07061,
"lon": -76.77514
}
}
},
"inner_hits": {}
}
}
}
}
}
我在elasticsearch库中看到了InnerHitsBuilder和addInnerHit方法,但是找不到有关如何使用它们的文档。
请注意,ES源代码中有大量测试用例,正在测试每个功能,因此浏览ES代码是非常丰富的信息源。内部命中也不例外,您可以inner_hits
在InnerHitsTests.java
课程中找到所有测试用例。
因此,上面的查询可以这样创建:
// build the geo_distance filter
GeoDistanceFilterBuilder geo = FilterBuilders
.geoDistanceFilter("locations.address.geoLocation")
.distance("20km")
.lat(38.07061)
.lon(-76.77514);
// build the nested filter and add inner_hits
NestedFilterBuilder nested = FilterBuilders
.nestedFilter("locations", geo)
.innerHit(new QueryInnerHitBuilder()); <--- this is what you're looking for
// wrap it all inside a filtered query
FilteredQueryBuilder query = QueryBuilders
.filteredQuery(QueryBuilders.matchAllQuery(), nested);
我试图将两个字段相乘,其中一个字段在“命中”中,另一个字段在“inner_hits”中。 假设我有以下数据。 “尺寸”字段是嵌套类型的。我正在使用以下查询按guid过滤。 查询结果如下 这是我的问题。如何乘以“ratio”(在“hits”中)= 提前感谢!
问题内容: 我们正在尝试在Elasticsearch中找到不同的内部对象。这将是我们案例的最小示例。我们一直坚持下面的映射(更改类型或索引或添加新字段不会有问题,但结构应保持原样): 假设我们有以下示例数据: 当查询街道“贝克街”(以及所需的任何其他选项)时,我们希望获得以下列表: 格式并不重要,但是我们应该能够解析名字和姓氏。只是,由于我们的实际数据集要大得多,因此我们需要使输入项不同。 我们正
内部命令 C-h k 后,回显区提示 Describe key (or click or menu item): 接着 C-x h ,您会发现,缓冲区被水平分割为两个。另一个名为 *help* 缓冲区中显示的内容为 C-x h runs the command mark-whole-buffer which is an interactive compiled Lisp funct
我从用户的相册中获取了一张图像,并将其保存在一个文件夹中。 以下是代码: 然后我读了图像,用代码改变了它的名字: 但当我尝试用新名称重新加载图像时,我得到一个文件未找到异常,这是代码: 这就是日志错误: 08-09 20:23:50.730 15052-15052/? W/System.err:java.io.FileNotFound异常:lol1.png: open失败: ENOENT(没有这样
简而言之,我有一个索引,其中包含从pdf中提取的文本数据,分组为段落(称为块)。每个文档都包含一个“块”列表,其中每个“块”包含文本、页码和边界框的坐标。例如: 我想获得所有文件的列表,例如出现“现金”一词以及出现“现金”一词的所有块。 我的索引映射如下:;注意“块”是如何定义为嵌套对象的: 我的查询如下所示: 现在,令人惊讶的是,我inner_hits回来了,但并不是文件中的每个现金实例都突出显
我不熟悉elasticsearch。我正在探索从elasticsearch中的内容和索引中提取实体的可能性。我尝试在elasticsearch中安装并映射openNLP插件,但遇到了诸如找不到处理程序类等问题。我尝试使用maven构建openNLP插件,但无法实现最终目标。 elasticsearch中是否有其他插件可用于命名实体提取?如果用户不使用插件,可以使用任何其他方式执行NER和索引到ES