1
我剛剛獲得了我們網站新搜索功能的要求列表。他們是圖書出版商的網站,所以這是我們在這裏經營的基本領域。數據存儲在啓用全文本的Microsoft SQL 2005數據庫服務器(SP3)中。數據庫搜索引擎 - 根據特定相關性規則按相關性排序
現在,要求規定搜索可以在三個方面完成:書名,作者姓名和書籍文本。這本身很容易處理三個不同的查詢。但是,還有更多。該要求規定,搜索結果應該返回大致順序如下:
- 完全符合標題
- 全部作者姓名相匹配
- 偏題匹配
- 所有作者姓氏匹配
- 部分作者姓氏比賽
- 部分作者全名匹配
- 書本文本匹配
此外,還有次級需求:從發佈者本身
- 標題應當責令比相鄰出版商的高(有在同一個數據庫從十幾本書左右的出版商)
- 當找到同名作者的完整匹配,應顯示同一作者的其他書籍(同一出版商的標題優先於另一個出版者 - 作者可以與多個出版商一起發佈)
很多像這樣的規則。
所以,假設你有一本書約翰遜,由作家皮特約翰遜(或任何)寫的。然後,搜索查詢 '約翰' 應該返回以下(ISH):
- 約翰遜(書)(部分錦標賽)
- 皮特·約翰遜(部分姓氏匹配)
與搜索查詢「約翰遜:
- 約翰遜(書)(全名賽)
- 約翰遜(書)(部分錦標賽)(略,已經在結果)
- 皮特·約翰遜(作者)(全作者姓氏匹配)
- 皮特·約翰遜(作者)(部分作者姓氏匹配)(略)
- 皮特·約翰遜(作者)(部分作者全名匹配)(略)
- 約翰遜(書)(書本文字匹配)(略)
...反正。這基本上是要求,我只是想輸入。現在,對於幾個問題:
- 有沒有關於這個特定主題的任何書籍或文章,你可以指向我?
- 這將如何實現?這可以在一組基本查詢中完成(針對每個搜索需求的單獨查詢,後期處理以刪除重複項併合並結果),還是可以在單個查詢中完成?
- 或者我是否需要編寫一個應用程序索引表並創建自己的索引等,然後依次搜索查詢?
我在這裏有點想法和建議。