我目前正在尝试使用 asp 构建一个内部搜索引擎数据库。我不是专家,只是简要介绍了这种编码风格。我遇到的麻烦是这样的:
(例如)我有两个相对相同的文档,并且具有相同的关键字来描述它们。但是,表中的关键字并不是按照相同的顺序写的。表中所写的所有关键字均以空格分隔。
项目1关键词:备件发动机
项目2关键词:备件发动机
现在,如果我只输入这些关键词中的 ONE(1),我所拥有的代码将允许我显示项目 1 和 2 :
sql = "Select title, descript, url, uid FROM searchMachine WHERE keywords LIKE '%" & Replace(keywords, "'", "''") & "%' ORDER BY uid;"
但是,如果我要在搜索框中输入“备用引擎”,那么只会显示第 2 项,而不会显示第 1 项。此外,如果我要输入“零件引擎”或“引擎零件”,它们都不会显示。它似乎只参与列出的前 2 个(或成对的 2 个)关键字。我想要完成的目标是允许用户输入的分组关键字(即备用引擎部件)并允许它仍然显示列出任何关键字的所有相关信息,而不必担心编写成对或成组的关键字一遍又一遍。
我知道有一个全文搜索功能,但我研究过存在安全漏洞的实例,所以我想避免冒险。我有一种感觉,这可能更多地与 AND 或 OR 语句相关,但我不确定是否需要放置。有没有人对这种情况有任何专业知识并愿意提供帮助?