2

我正在使用 java 客户端 (jrets) 来查询 RETS 服务器。此 rets 服务器不支持 OFFSET 功能。

服务器管理员告诉我使用 MODIFIED 字段作为翻阅记录的一种方式。但是,我发现这个过程不起作用。

我的用例:

用例是从今年 1 月开始下载某种类型的所有记录。所以,我发出一个限制为 500 的查询并下载记录。我浏览了数据,并获得了最大修改日期。然后我从那时起发出另一个查询。

但是我发现服务器没有按修改日期对数据进行排序并返回它。因此,每批中的数据都包含空白。

有没有更好的方法来实现我想做的事情?

4

2 回答 2

3

RETS 不支持排序。服务器管理员可能意味着您要使用日期范围进行查询。

RETS 服务器应该支持日期范围查询(date_field=2009-01-01-2009-01-25),例如(MODIFIED=2013-08-01T00:00:00-2013-08-31T23:59:59).

通过这种方式,您可以计算出您需要发送的一批查询以检索所有列表。您在脚本中设置的时区会产生影响,因此您需要知道服务器时间是多少。有些会使用 UTC/GMC,有些会使用他们的本地时间。

这里有更多帮助,https://www.flexmls.com/developers/rets/tutorials/dmql-tutorial/

于 2013-09-12T16:37:58.637 回答
0

我不确定这是否通用,但 GAMLS RETS 发送的响应按L_ListingID.

我可以从

query = "(L_UpdateDate=2017-01-01T11:42:59Z+)"

'L_ListingID然后在响应中找到最大的。

建立一个新的查询

query = "(L_UpdateDate=2017-01-01T11:42:59Z+),(L_ListingID=[LARGEST_Listing_ID])"

继续前进,直到我得到一个空洞的回应。

于 2017-07-07T16:00:29.390 回答