Ruby on rails 在弹性搜索中合并
我正在使用MongoId和ruby on rails。对于我的搜索,我使用elasticsearch 我有一个日期字段。它是可选字段,我使用它作为停止日期。在我的搜索中,我想知道我的停止日期是否大于搜索停止日期。范例Ruby on rails 在弹性搜索中合并,ruby-on-rails,
elasticsearch,Ruby On Rails,
elasticsearch,我正在使用MongoId和ruby on rails。对于我的搜索,我使用elasticsearch 我有一个日期字段。它是可选字段,我使用它作为停止日期。在我的搜索中,我想知道我的停止日期是否大于搜索停止日期。范例 { "range": { "stop_date": { "gt": "#{search_stop}" } } } 当停止日期为空时的问题我需要在这个查询中返回它,但它不是因为停止日期为空或不在文档中 我需要在文档中停止日期为空或不为空时,将搜索
{
"range": {
"stop_date": {
"gt": "#{search_stop}"
}
}
}
当停止日期为空时的问题我需要在这个查询中返回它,但它不是因为停止日期为空或不在文档中
我需要在文档中停止日期为空或不为空时,将搜索设置为默认值,如21/31/2100
如果您有任何建议,我们将不胜感激。有两种方法
{
"query": {
"filtered": {
"filter": {
"or": [
{
"range": {
"stop_date": {
"gt": "#{search_stop}"
}
}
},
{
"missing": {
"field": "stop_date"
}
}
]
}
}
}
}
如果停止日期字段丢失或
日期范围筛选器匹配我的建议是使用第二种方法。有两种方法
{
"query": {
"filtered": {
"filter": {
"or": [
{
"range": {
"stop_date": {
"gt": "#{search_stop}"
}
}
},
{
"missing": {
"field": "stop_date"
}
}
]
}
}
}
}
如果停止日期字段丢失或
日期范围筛选器匹配我的建议是使用第二个。非常感谢……我完全同意你的看法。我在null_值之前尝试过,但我也不喜欢它。我实现了解决方案2:)我还有一个关于null_值的问题,如果字段或null没有标记,它应该返回默认值。或者只有在null值而不是no标记的情况下才返回默认值?非常感谢..我完全同意你的看法。我在null_值之前尝试过,但我也不喜欢它。我实现了解决方案2:)我还有一个关于null_值的问题,如果字段或null没有标记,它应该返回默认值。或者只有在null值不是no标记的情况下才返回默认值?