我在网络服务器上有很多图像,其特征在于它们的名称。每个文件都属于几个类别,每个类别组中的所有人。例如:没有服务器端数据库的数据库
group_fruit = ["apple", "banana", "pear"];
group_color = ["red", "blue", "yellow"];
group_origin = ["Italy", "France", "Portugal"];
a blue apple from Italy will be 00_01_00_uniqueid.jpg
如果我想找到要找的类别(例如,我想从法国或葡萄牙的蓝色或黄色的梨)我可以查找文件文件列表中以简单的方式图像。 问题是当我有大量的类别组(例如10个)有很多类别(即10个),因为我只能下载一个100个项目的文件列表。在这种情况下,我可以有一个查询生成10^10个可能的答案(最坏的情况)。
鉴于近最坏的情况下什么是但难以管理,我虽然进行如下:
我让使用类别从第5组,在那里我存储的图像数量命名的几个XML文件与这些类别以及其余五组中的其他五个类别进行比较。例如
01_00_03_00_04.xml contains:
01_00_03_00_04_00_02_04_05_07 = 3
01_00_03_00_04_04_04_03_00_08 = 12
01_00_03_00_04_05_08_09_01_02 = 5
这意味着我有12个图像与01_00_03_00_04_04_04_03_00_08类别,例如。 通过这种方式,如果我正在寻找特定的特征,我可以下载xmls,这些xmls与前面我要找的五组特征兼容,然后我可以搜索每个xml以查找是否有每种可能组合的结果的类别。 在最糟糕的情况下,我会搜索10^5 xml每个10^5个类别。
使用一个单一的大XML与所有文件的解决方案不适用,因为它会太大,无法下载(大延迟)。 为每个可能的类别组合下载列表的解决方案将太慢(因为我可以有几个组合没有结果,所以用户将需要太多时间来查看第一个结果)。 这就是为什么我要采用中间解决方案。
我知道最好的方法是使用数据库,但我想找到一个客户端解决方案,以便不超载便宜的服务器。
编辑:问题是:你有任何想法更有效的方法?
感谢您的耐心
你忘了问一个问题。 – bikeshedder
哦,是的:facepalm:,我的意思是:你有什么想法更好的方法? – andreaconsole