我的目標是在LinkedIn等搜索引擎項目中提供單一搜索框模型。識別單一搜索框模型查詢中關鍵字類別的算法
我試圖用類比來表達我的問題。
讓我們假設每個結果的文章,有多個維度,比如作者,主題會議(如果這是一個出版物),託管網站等
一些樣本查詢:
「信息檢索論文在IEEE作者XYZ「:三個維度{主題,conf-name,作者姓名}
」ACM論文authoABC對設計模式「:三維{conf-名稱,作者,主題}
「多線程編程的JavaRanch的」:兩個維度{話題,網站}
我已經查明在一個大的查詢這些尺寸和對應的關鍵字之前,我可以檢索從最終結果數據庫。
點
- 我已經給所有尺寸訪問所有可能的值。例如,我擁有所有會議名稱,作者姓名等。
- 跨維度的術語幾乎沒有重疊。
我的做法(幼稚)
使用Lucene,指數都在一個名爲「維」專用場,並與實際值的另一場每個維度的關鍵字。 例:
1){名稱:IEEE,尺寸:會議}等
2){名稱:OOAD,尺寸:主題}等
3){名稱:XYZ,維度:作者}等。
- 使用查詢原樣搜索索引。
- 在一定程度上對結果進行迭代,並識別具有新維度的第一個文檔。
問題
- 不知道何時停止從結果集中識別的尺寸。例如,查詢可能只包含兩個維度,但結果可能匹配三個維度。
- 如果我想包含拼寫檢查,它會變得更加複雜,結果往往不太準確。
參考論文,文章或指出描述我的問題域等的正確術語肯定會有所幫助。
任何指導,高度讚賞。
矢量空間模型,TF-IDF,BM25等是任何搜索引擎的基本構建模塊。 OP正在使用Lucene,因此已經使用了您提到的所有內容。 – Yavar