Думающий Сфинкс с диапазоном дат

Я реализую полнотекстовый поиск API для моих приложений для направляющих и до сих пор имел большой успех с Думающим Сфинксом.

Я теперь хочу реализовать поиск диапазона дат и продолжать получать "плохое значение для диапазона" ошибка.

Вот отрывок кода контроллера, и я немного застреваю на том, что сделать затем.

    @search_options = { :page => params[:page], :per_page => params[:per_page]||50 }

    unless params[:since].blank?
        # make sure date is in specified format - YYYY-MM-DD
        d = nil
        begin
            d = DateTime.strptime(params[:since], '%Y-%m-%d')
        rescue
            raise ArgumentError, "Value for since parameter is not a valid date - please use format YYYY-MM-DD"
        end
        @search_options.merge!(:with => {:post_date => d..Time.now.utc})
    end
    logger.info @search_options
    @posts = Post.search(params[:q], @search_options)

Когда я взглянул на журнал, я вижу этот бит, который, кажется, подразумевает, что дата не была преобразована в тот же формат времени как Time.now.utc.

withpost_date2010-05-25T00:00:00+00:00..Tue Jun 01 17:45:13 UTC 2010

Какие-либо идеи? В основном я пытаюсь иметь передачу запроса API в "начиная с" даты для наблюдения всех сообщений после определенной даты. Я указываю, что дата должна быть в формате YYYY-MM-DD.

Спасибо за помощь. Chris

Править: Я просто изменился, параметры даты объединяют оператор с этим

@search_options.merge! (: с => {: post_date => d.to_date.. DateTime.now})

и теперь я получаю эту ошибку

неопределенный метод 'to_i' в течение вторника, 25 мая 2010:Date

Так, очевидно, существует что-то, все еще не устанавливают право...

7
задан Leddo 1 June 2010 в 19:17
поделиться