Python 狮身人面像搜索在特定日期以上如何搜索
我有一个密码:Python 狮身人面像搜索在特定日期以上如何搜索,python,search-engine,sphinx,Python,Search Engine,Sphinx,我有一个密码: def set_date_range_filter(self,attribute = None,start_date = None , end_date = None): if attribute is None: return #Make sure set the passing start date and end date if not start_date or not end_date : return
def set_date_range_filter(self,attribute = None,start_date = None , end_date = None):
if attribute is None:
return
#Make sure set the passing start date and end date
if not start_date or not end_date :
return
if isinstance(start_date, str) :
start_date = datetime.strptime(start_date, "%Y-%m-%d")
if isinstance(start_date, unicode) :
start_date = datetime.strptime(str(start_date), "%Y-%m-%d")
if isinstance(end_date ,str):
end_date = datetime.strptime(end_date, "%Y-%m-%d")
if isinstance(end_date ,unicode):
end_date = datetime.strptime(str(end_date), "%Y-%m-%d")
# Shphnx Range Filter ,start_date and end_date must be integers that define the acceptable attribute values range
start_date = int(time.mktime(start_date.timetuple()))
end_date = int(time.mktime(end_date.timetuple()))
if start_date > end_date :
return
self.sphinx.SetFilterRange(str(attribute),start_date,end_date)
我想更新此代码以仅接受“开始日期”或“结束日期”或两者
比如我想要2014-01-01的所有日期,或者我想要2014-01-01之后的所有数据
或者说我想要从2014-01-01到2014-09-01的所有数据。我如何存档此文件???而不是
if not start_date or not end_date :
return
替换为说
if not start_date:
start_date = '1971-01-01'
if not end_date:
end_date = '2037-01-01'
或类似的。如果缺少其中一个,那么只需使用非常早或非常晚的日期(超出数据范围)。上面选择的日期示例在unix时间戳范围内
(然后将通过strtime转换为正确的日期对象)