Как заставить YQL возвращать только новый контент (на основе указанной даты) - PullRequest
0 голосов
/ 08 марта 2011

Нужно знать, как заставить YQL возвращать только те данные, которые новее, чем указанная мной дата.

Спасибо

1 Ответ

0 голосов
/ 11 марта 2011

Это зависит от таблицы данных, к которой вы обращаетесь, и веб-службы, которая стоит за ней.

Например, график facebook позволяет вам установить параметр запроса since, и вы можете сопоставить его с key в вашей таблице данных.

http://graph.facebook.com/search?q=watermelon&since=yesterday

Если нет, отфильтруйте элемент date в ваших результатах

SELECT * from foo.table WHERE date > "2011-03-11T14:00"

<results>
    <post>
        <title>My title</title>
        <link>my link</link>
        <author>fooman</author>
        <date>2011-03-11T14:09</date>
        <content>lorem ipsum</content>
    </post>
    <post>
        <title>My title</title>
        <link>my link</link>
        <author>fooman</author>
        <date>2011-03-11T15:09</date>
        <content>lorem ipsum</content>
    </post>
</results>

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

Если ваш запрос похож на

select title,source,description,date from rss where url in ('somerssfeed.com';, 'somerssfeed.com';) | unique(field="title") | sort(field="date", descending="true")

поставьте фильтр перед трубами:

select title,source,description,date from rss where url in ('somerssfeed.com';, 'somerssfeed.com';) and date > "2010-01-01T00:00" | unique(... [snip!]
...