【问题标题】:Querying a RETS provider on demand of data根据数据需求查询 RETS 提供者
【发布时间】:2012-03-20 01:29:07
【问题描述】:

客户即将推出的项目涉及使用他们的 MLS 提供商(支持 RETS)根据搜索条件列出属性。 我想创建一个服务(最好在 Java 中),它基于输入的标准创建一个或一系列查询,以使查找特定列表比直接翻译查询更智能。 (例如可能搜索街道名称的变体)

在研究中,我相信我已经确定过去 MLS 数据是通过 ftp 定期检索来收集的,但现在 RETS 提供程序允许根据需要查询 xml 的方法。然而,我发现的许多信息似乎表明,定期与提供商同步并根据提取的信息维护自己的数据库是司空见惯的做法。

这似乎让我很困惑,因为您为什么要保持这两个地方之间的数据同步,尤其是当一个服务是您无法控制的服务时?

我想做的是根据用户的信息请求查询 rets 提供者。并且还可能将条目直接插入到服务中。这合理吗?

如果不是,为什么不呢? (历史原因或我在技术上缺少的东西) 如果是这样,什么是一个好的起点?

请原谅我的无知,我是一位经验丰富的应用程序开发人员,并且习惯于处理数据库和服务 API,但是我之前没有使用 MLS 或 RETS 开发过任何应用程序,并且发现我在 Google 上搜索的信息相当混乱。

【问题讨论】:

  • 不确定“创建服务”是什么意思。我使用 RETSConnector 下载 csv 数据提要,然后我编写了一个 C# 程序来生成 SQL 查询,并将列表插入数据库。然后从网站上,当用户搜索属性时,它会搜索数据库并返回结果。
  • 我的意思是,我希望根据用户的需求通过 dmql 查询直接从 RETS 提供程序中提取信息,而不是通过定期从 RETS 中提取来查询本地数据库。这似乎不是常态,经过实验,我可以看到我正在使用的 RETS 提供程序相当慢,并且不支持轻松进行分页的方式(没有偏移,并且作为规范的一部分, dmql 中没有排序)

标签: java rets


【解决方案1】:

当用户输入搜索条件并返回结果时,我最终使用 RETSIQ 直接查询 rets 提供程序。这最终导致运行缓慢,并且不允许分页,因为内置的 RETS 不允许任何排序。最终,我最终使用 RETSIQ 定期提取并保存在本地数据库中。 RET 缺乏订购和特定提供者没有某些功能(在我的情况下是偏移量)可能会使您难以创建您正在寻找的功能。我相信其他人也选择将数据存储在本地的原因是因为您可以更好地控制速度性能,并选择允许您以所需方式检索数据的持久性。

值得花时间看看您的提供商支持哪些功能,是否需要对结果进行分页或排序,以及是否能够直接查询。

答案可能不会。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-14
    • 2016-10-20
    • 1970-01-01
    相关资源
    最近更新 更多