Apache flex Flex搜索接口:加载XML或查询数据库
对于用于搜索和显示结果(无写操作)的Flex应用程序,我目前将数据存储在关系数据库中, 但我不是通过应用程序查询数据库,而是每晚将数据(包括其关系)写入XML文件 然后,通过Flex,我加载XML文件,将其解析为自定义对象,并根据需要“查询”这些对象 它工作得非常好——基本上是根据搜索条件过滤这些对象的ArrayCollection 例如,与查询数据库相比,在这种情况下,全文搜索速度非常快 但有哪些潜在的缺点?这种方法的有效性如何?任何想法都将不胜感激Apache flex Flex搜索接口:加载XML或查询数据库,apache-flex,flash,actionscript,cairngorm,Apache Flex,Flash,Actionscript,Cairngorm,对于用于搜索和显示结果(无写操作)的Flex应用程序,我目前将数据存储在关系数据库中, 但我不是通过应用程序查询数据库,而是每晚将数据(包括其关系)写入XML文件 然后,通过Flex,我加载XML文件,将其解析为自定义对象,并根据需要“查询”这些对象 它工作得非常好——基本上是根据搜索条件过滤这些对象的ArrayCollection 例如,与查询数据库相比,在这种情况下,全文搜索速度非常快 但有哪些潜在的缺点?这种方法的有效性如何?任何想法都将不胜感激 提前谢谢。简短的回答是:。。。对不起,没有
提前谢谢。简短的回答是:。。。对不起,没有简短的回答 长期的答案是:架构决策总是涉及某种权衡。应用程序的正确决策主要取决于内容和系统的总体设计 我唯一可以肯定的是:你现在所做的阻止了关注点的彻底分离 例如:如果您在服务器上进行搜索,您可能会在客户不知道的情况下更改数据库中的字段名等,因为您可以调整实际数据输出以匹配“旧”模型,即使查询完全不同。客户机负责显示数据,服务器负责保存和检索数据。如果您在一个更大的团队中开发,或者如果您的应用程序是长期运行的,具有复杂的事务和/或经常更改行为(例如在企业场景中),那么这可能就是您想要的。这些场景通常会考虑到服务器的更大压力,因此需要更强大的硬件,因为硬件成本不是大型公司最迫切需要考虑的问题 根据完整数据集的大小,它还将显著降低网络负载,因为您不需要将所有数据都传输到客户端,只需要传输相关结果。因此,如果您的服务器的网络连接有限,或者您的用户的连接速度较慢,这可能是一个好主意 另一方面:如果你在你的客户端应用程序中搜索和查询,按照你描述的方式,你会减轻数据库和web服务器的负担,这并不总是一件坏事,尤其是当你的服务器容量有限,性能至关重要时 但除了增加总体网络流量外,这也意味着你更依赖客户端计算机:a)它必须足够快来处理搜索,b)每次数据模型发生轻微变化时,你都必须(重新)向用户部署更新的应用程序。这很可能是错误的主要来源,因此您必须实施某种版本检查,以防止过时的客户端连接到服务器和/或禁用浏览器缓存 因此,最后,您必须权衡利弊,然后决定哪种解决方案最适合您的需要。你可能想考虑使用一个专用的搜索引擎,比如第三个选项。