我必须想出一个搜索设计。搜索到的数据不是文档类型。要搜索的数据实体是医疗程序,基本上每个由一个/两个/三个单词组成。单词由管理员预先定义。例如:血管成形术,隆鼻,肾上腺手术,ACTH模拟试验等。
最终用户从选择中选择过程名称,用户的选择存储在db中。最终用户是指正在创建其个人资料的用户。
我使用用户ID在单独的表中索引关键字。因此,对于Rhinoplasty,如果三个用户添加了它,我将在索引表中有三个条目。其他程序也是如此。
Procedure Name | User ID| ------------------------- Rhinoplasty 1 Rhinoplasty 2 Rhinoplasty 3 Adrenal Surgery 2 Adrenal Surgery 3 Angioplasty 1 And so on .
当一些用户试图搜索程序(导致他进入配置文件)时出现问题。他可能将'肾上腺手术'写成'手术肾上腺'或'血管成形术'作为'血管成形手术'或'ACTH模拟试验'作为'ACTH的模拟测试'。有时候程序也可以有synonmys / acronyms。
我理解停用词的概念。我可以在它们下面定义常用词,例如“手术”和“测试”。剥离这些停用词的索引表并删除搜索查询。
如何实现同义词?还有更好的方法来实现这样的搜索吗?我不认为我可以看看lucene或solr,因为它们是全文搜索引擎。