我一直在瀏覽一些社交網絡,並發現有能力通過搜索人名:年齡範圍,城市,國家和性別。 有趣的是,所有這些信息都可以插入到由空格分隔的一個文本框中。然後搜索引擎一些如何以非常準確的方式解析它並返回一個結果列表。智能搜索帶有一個輸入
一方面它看起來非常簡單:按空間拆分查詢並搜索所有相關的表格以查找出現。到現在爲止還挺好。 然而
- 有哪個城市的名字都超過2個字和用戶可以輸入他們不同,因爲它是免費的文本。
- 有跡象表明,超過2個字 名
問:
怎樣才能分割在這樣的方式查詢,我們當然知道它 部分應搜索在哪裏?即用戶表中的城市名稱,城市中的城市 ,國家中的國家等等?
是我迄今所做的是:
- 填充用戶數據源的所有用戶
- 檢查查詢
- 如果國家從國家tableexist存在,那麼過濾數據源,讓用戶從該國家只有
- 檢查是否存在於查詢中的城市表
- 如果存在,則過濾數據源以僅讓來自該城市的用戶
等爲每個表,每次當我們發現我們從查詢中刪除找到的部分表 - 比賽,留給我們的最自由參數:名稱。
這似乎工作,如果用戶會確切知道城市/國家等是如何寫在我的分貝, 但實際情況是用戶可能進入城市的一部分或錯誤輸入城市。
我不知道我是否在正確的方向與我所做的一切。只是一個開始點...
PS:我只需要一個算法流程,所以編程語言並不真正米。任何想法或指導都是值得歡迎的。
感謝