мышление сфинкса проблема диапазона дат - PullRequest
0 голосов
/ 08 апреля 2011

Почему это возвращает результаты:

@results = Index.search "#{@keywords}", :with => {
 :published_on => 1.week.ago..Time.now,  
}

но не это?

@results = Index.search "#{@keywords}", :with => {
  :published_on => '2011-04-01'..'2011-04-08',
}

published_on - это поле даты и времени, но я пробовал также использовать часы, минуты и секунды.

1 Ответ

0 голосов
/ 08 апреля 2011

Учитывая, что вы получаете результаты, я предполагаю, published_on на самом деле является атрибутом, а не полем?

Если атрибут является типом данных datetime, то вам нужно передать объекты Ruby Timeдля фильтров - это или целочисленные метки времени (это то, во что Thinking Sphinx конвертирует время в любом случае).TS не пытается анализировать строки, поэтому вам придется управлять этим самостоятельно.

Sphinx не так хорош, как MySQL, когда речь идет о автоматическом разборе дат и времени - вам нужно использовать правильныетип данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...