2011-05-05 23 views
1

我想爲招聘代理模式製作一個標籤系統,並且喜歡這樣分隔標籤和搜索其餘短語的方式。你會如何重現一個StackOverflow使用的標記系統?

你怎麼會在一個表中搜索查詢等比較標籤...

我想出了下面的,但它有一些hickups ...

  1. 用戶輸入搜索查詢
  2. 全文SQL包含tbl_tags
  3. 返回5個結果
  4. 檢查每一個「確切的標籤短語」在原來的查詢字符串是否存在()搜索。
  5. 如果確實存在,則將tagID添加到數組中。
  6. 從原始搜索字符串中刪除標籤名稱...
  7. 在tbl_people中搜索帶有鏈接TagID的用戶,並使用剩餘文本搜索文本字段。

實例搜索:法國的項目經理與甲骨文經驗

標籤:[法國] [項目經理] s的甲骨文]經驗

剩餘的文本:s的經驗

現在問題來了,當我搜索項目經理時,它留給我一個盈餘「s」...也有可能與此邏輯的其他錯誤,我不能說明...

任何關於如何使邏輯完美的想法?

在此先感謝,我知道這可能是一個有點抽象的問題......

+0

過濾這個問題可能是更合適的[元](http://meta.stackoverflow.com/)。 – 2011-05-05 11:02:22

+0

嗯好吧,我該如何移動它? – 2011-05-05 11:05:50

+0

選擇「其他」並輸入您的請求來移動它。 – 2011-05-05 11:08:04

回答

1

你錯過的StackOverflow上如何完成其​​搜索的關鍵因素。 SO要求用戶通過明確地在標籤周圍放置括號來描述搜索字符串中的標籤。 (可能是簡化的)邏輯就是。

  1. 提取標記使用正則表達式來檢測括號內
  2. 使用最常見的標籤,未標記的標籤掃描字符串列表內容,並提取它們的標籤。
  3. 刪除標籤元字符
  4. 進行全文搜索,通過標籤
+0

如果您搜索web開發,它就會知道它帶有或不帶括號的標籤... – 2011-05-05 11:18:22

+0

@Chris - 有趣的是,出現在「how-to」中。對最後一頁標籤上的標籤進行一點試驗表明,它不適用於所有標籤。我懷疑有一個「最常用」或「最多搜索」列表,用於在步驟1之後掃描搜索字符串中的標記。我將更新。 – tvanfosson 2011-05-05 11:23:53

+0

謝謝,我想知道它是如何知道例如......「網絡發展」作爲一個短語和網絡開發作爲標籤之間的區別.. – 2011-05-05 11:25:34

相關問題