我一直在浏览一些社交网络,并发现有能力通过搜索人名:年龄范围,城市,国家和性别。 有趣的是,所有这些信息都可以插入到由空格分隔的一个文本框中。然后搜索引擎一些如何以非常准确的方式解析它并返回一个结果列表。智能搜索带有一个输入
一方面它看起来非常简单:按空间拆分查询并搜索所有相关的表格以查找出现。到现在为止还挺好。 然而
- 有哪个城市的名字都超过2个字和用户可以输入他们不同,因为它是免费的文本。
- 有迹象表明,超过2个字 名
问:
怎样才能分割在这样的方式查询,我们当然知道它 部分应搜索在哪里?即用户表中的城市名称,城市中的城市 ,国家中的国家等等?
是我迄今所做的是:
- 填充用户数据源的所有用户
- 检查查询
- 如果国家从国家tableexist存在,那么过滤数据源,让用户从该国家只有
- 检查是否存在于查询中的城市表
- 如果存在,则过滤数据源以仅让来自该城市的用户
等为每个表,每次当我们发现我们从查询中删除找到的部分表 - 比赛,留给我们的最自由参数:名称。
这似乎工作,如果用户会确切知道城市/国家等是如何写在我的分贝, 但实际情况是用户可能进入城市的一部分或错误输入城市。
我不知道我是否在正确的方向与我所做的一切。只是一个开始点...
PS:我只需要一个算法流程,所以编程语言并不真正米。任何想法或指导都是值得欢迎的。
感谢