sorting - 在elasticsearch中搜索字符串数组中的确切字段,并按最新发布日期排序
问题描述
这是字符串数组中精确字符串搜索的后续问题。
如果文档有发布日期,还有另一件事。
{
"datePublished":"2020-05-22T15:06:00.000Z",
"locations":[
"Landkreis Cloppenburg",
"Berlin"
]
}
并以最新发布日期排序。如果我在查询中有这个结果,那么结果将与Landkreis Cloppenburg一起返回:
"sort": [
{
"doc.datePublished":{
"order":"desc"
}
}
]
解决方案
正确的查询应该如下所示
{
"sort": [
{
"datePublished": {
"order": "desc"
}
}
],
"query": {
"term": {
"location": {
"value": "Cloppenburg"
}
}
}
}
由于之前的答案是我写的,我只是增强并包含了您的日期字段,所以我的映射看起来像
{
"mappings": {
"properties": {
"location": {
"type": "keyword"
},
"datePublished" : {
"type" : "date"
}
}
}
}
推荐阅读
- javascript - 在 Node.js 中的多个文件之间搜索文本
- javascript - 如何获取用户输入值并在 React 中基于该值显示另一个元素?
- java - 为什么我的 SQL Month 查询没有返回任何结果?
- javascript - toggleClass 的导航菜单问题
- javafx - JavaFX8:用于 textproperty 内容的 BooleanBinding disabledProperty 不起作用
- css - 条件渲染对显示组件做出反应
- r - 将 0 设为 NA 直到第一次遇到 R 数据帧中的整数
- javascript - 如何从各个角度制作可调整大小的 div?
- spring-boot - Spring Boot 应用程序部署问题 - 打包 mvn jar 后无法从类路径访问文件
- logstash - 日志存储不显示在标准输出中