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转换为正确的日期对象)