我目前正在尝试使用asp构建一个内部搜索引擎数据库。我不是专家,只是简单介绍了这种编码风格。我遇到的麻烦是这样的:建筑搜索引擎中的多个关键字
(例如)我有两个相对相同的文档,并且有相同的关键字来描述它们。但是,表中的关键字不是以相同的顺序写入的。写在表中的所有关键字都用空格分隔。
项目 1关键字:备件发动机
项目 2个关键字:备用发动机部件
现在,我有可以让我显示项目1和2,如果我的代码仅输入一(1)的那些关键词:
sql = "Select title, descript, url, uid FROM searchMachine WHERE keywords LIKE '%" & Replace(keywords, "'", "''") & "%' ORDER BY uid;"
但是,如果我要输入“备用发动机”的搜索框,那么只会显示第2项,而不会显示第1项。另外,如果要输入“零件引擎”或“发动机零件”,它们都不会显示。它似乎只参加了列出的前2个(或2个关键字)关键字。我希望完成的目标是允许用户输入的分组关键字(即,备用引擎部分),并允许其仍显示具有任何关键字列出的所有相关信息,而不必担心编写关键字组或关键字组一遍又一遍。
我知道有一个功能在那里进行全文搜索,但我研究过有安全漏洞的情况,所以我想避免冒这个风险。我有一种感觉,这可能与AND或OR语句更相关,但如果需要它,我不确定该放置。有没有人有任何关于这种情况的专业知识,并愿意提供帮助?
为什么不使用现有的搜索引擎(如lucene/solr/elasticsearch)而不是自己构建并重新创建所有内容?数据库中的全文搜索通常非常有限 – Karussell 2013-04-09 18:41:50