我必須拿出搜索設計。搜索的數據不是文檔類型。要搜索的數據實體是醫療程序,基本上由一個/兩個/三個字組成。這些詞是由管理員預先定義的。例如:血管成形術,隆鼻術,腎上腺手術,ACTH模擬試驗等。如何實施以下搜索類型:
最終用戶從選擇中選擇過程名稱,並將用戶的選擇存儲在數據庫中。最終用戶是指正在創建他的個人資料的用戶。
我使用用戶標識將單獨的表中的關鍵字編入索引。因此,如果三位用戶添加了隆鼻,我將在索引表中有三個條目。其他程序也是如此。
Procedure Name | User ID| ------------------------- Rhinoplasty 1 Rhinoplasty 2 Rhinoplasty 3 Adrenal Surgery 2 Adrenal Surgery 3 Angioplasty 1 And so on .
的問題,當一些用戶嘗試搜索程序(這導致他的配置文件)。他在上面寫上「腎上腺手術」爲「腎上腺手術」或「血管成形術」爲「成形術」或「出現ACTH模擬測試「作爲」ACTH的模擬測試「。某些時候,程序也可以具有同義詞/首字母縮略詞。
我理解停用詞的概念。我可以在他們的下面定義常用詞語,如「手術」和「測試」。剝離這些停用詞的索引表並剝離搜索查詢。
我該如何實現同義詞?還有更好的方式來實現這樣的搜索嗎?我不認爲我可以看看lucene或solr,因爲它們是全文搜索引擎。
爲什麼不給每個程序添加標籤?例如對於ACTH,標籤可以是ACTH,模擬,測試..並且可以將每個過程的同義詞作爲標籤添加 –
您寫道,過程名稱是預定義的,其中大約有1000個。你不能用兩步選擇(30x30)而不是搜索 - 用戶選擇一組相關的程序,然後選擇該組的特定程序? (我知道這不能回答你的問題。) – Arvo