我为一个示例数据集提供了以下elasticsearch术语过滤器。
"filter":{
"type":"and",
"and":[
{
"type":"terms",
"terms":{
"field":"car_registration_no.raw",
"terms":[
"61123",
"61124",
"61125"
]
}
}
]
}
下面是示例结果:
{
"result": [
{
"totalHits": 3,
"hits": [
{
"schemaid": "adef89sesdceasjkmn5dlky6djj7kk189lkdqsc",
"localVersion": 2,
"row": {
"primaryKey": {
"car_registration_no": "61123"
},
"columns": {
"model": "Nissan",
"submodel": "Saloon",
"date_used": 1597017600000
},
"editsVersion": 0
},
"highlight": {}
},
{
"schemaid": "adef89sesdceasjkmn5dlky6djj7kk189lkdqsc",
"localVersion": 2,
"row": {
"primaryKey": {
"car_registration_no": "61124"
},
"columns": {
"model": "Nissan",
"submodel": "Saloon",
"accidents": "1",
"accident_date": "12/12/2019",
"date_used": 1597017600000
},
"editsVersion": 0
},
"highlight": {}
},
{
"schemaid": "adef89sesdceasjkmn5dlky6djj7kk189lkdqsc",
"localVersion": 2,
"row": {
"primaryKey": {
"car_registration_no": "61125"
},
"columns": {
"model": "Nissan",
"submodel": "Saloon",
"date_used": 1597017600000
},
"editsVersion": 0
},
"highlight": {}
}
],
"counts": {},
"nextToken": null
}
]
}
只有一辆车(61124号车)有事故记录,我如何为其他车检索空值或空值?
我曾经提到过elasticsearch,但由于我是一个初学者,我不知道如何处理它。因此,预期的结果是,如果没有值,我希望看到空白字段“事故”和“事故日期”显示为null或空白,在上面的示例中,车辆注册号61123和61125具有null值,因此我希望检索所有字段,而不考虑空值。
{
"result": [
{
"totalHits": 3,
"hits": [
{
"schemaid": "adef89sesdceasjkmn5dlky6djj7kk189lkdqsc",
"localVersion": 2,
"row": {
"primaryKey": {
"car_registration_no": "61123"
},
"columns": {
"model": "Nissan",
"submodel": "Saloon",
"accidents": "null",
"accident_date": "null",
"date_used": 1597017600000
},
"editsVersion": 0
},
"highlight": {}
},
{
"schemaid": "adef89sesdceasjkmn5dlky6djj7kk189lkdqsc",
"localVersion": 2,
"row": {
"primaryKey": {
"car_registration_no": "61124"
},
"columns": {
"model": "Nissan",
"submodel": "Saloon",
"accidents": "1",
"accident_date": "12/12/2019",
"date_used": 1597017600000
},
"editsVersion": 0
},
"highlight": {}
},
{
"schemaid": "adef89sesdceasjkmn5dlky6djj7kk189lkdqsc",
"localVersion": 2,
"row": {
"primaryKey": {
"car_registration_no": "61125"
},
"columns": {
"model": "Nissan",
"submodel": "Saloon",
"accidents": "null",
"accident_date": "null",
"date_used": 1597017600000
},
"editsVersion": 0
},
"highlight": {}
}
],
"counts": {},
"nextToken": null
}
]
}
2条答案
按热度按时间ljsrvy3e1#
你想要的是能够看到
NULL
文档的值,这在默认情况下是不可能的NULL
数值不可索引和搜索,更多信息请参考官方的空值文档无法索引或搜索空值。当一个字段设置为null(或空数组或空值数组)时,它被视为该字段没有值。
但是为了实现您的用例,您需要提供
null_value
在Map和索引文档时,如果没有收到值,则传递null_value
文件中的param值,如下面的完整示例所示索引Map
索引示例文档
搜索查询
和预期的搜索结果
d4so4syb2#
可以使用术语查询返回在提供的字段中包含一个或多个精确术语的文档。
添加带有搜索查询和搜索结果的工作示例(使用与问题中提供的相同的示例索引数据)
搜索查询:(版本7.*)
搜索结果:
如果您使用的是版本5.*,那么请阅读有关术语查询的文档,了解其语法。