Database 如何在数据库中实现搜索?
我正在尝试对我的网站进行搜索:Database 如何在数据库中实现搜索?,database,search,Database,Search,我正在尝试对我的网站进行搜索: 不幸的是我不知道怎么做 对于搜索功能来说,这样就足够了吗?e、 g: SELECT * FROM Employees WHERE (Title Like 'Title%') 还是有更专业的方法?(例如正则表达式)LIKE是完美的您可能需要查看全文搜索引擎,例如 Lucene是一个独立的软件编程,它对你告诉它的任何东西进行索引(例如,数据库中的一些对象)。执行搜索时,首先使用Lucene API搜索全文索引并检索一组对象ID。然后执行简单的数据库检索以获取具有这些
不幸的是我不知道怎么做 对于搜索功能来说,这样就足够了吗?e、 g:
SELECT * FROM Employees WHERE (Title Like 'Title%')
还是有更专业的方法?(例如正则表达式)LIKE是完美的您可能需要查看全文搜索引擎,例如
Lucene是一个独立的软件编程,它对你告诉它的任何东西进行索引(例如,数据库中的一些对象)。执行搜索时,首先使用Lucene API搜索全文索引并检索一组对象ID。然后执行简单的数据库检索以获取具有这些ID的对象。如果您询问如何在网站上实现搜索功能(如每个/某些页面顶部的搜索框),则这取决于网站的实现
如果要实现对关系数据执行特殊搜索的系统,可以使用以下几种方法:
对于关系数据库,您几乎只剩下子字符串搜索(LIKE),这可能不够灵活,而且只对短列(如标题)有效 因此,您可能还需要使用全文搜索引擎(如Lucene)。 在这种情况下,在数据库之外会有一个全文搜索索引,用于搜索关键字 一些关系数据库对其文本列具有可选的全文搜索功能。 使用这些,您可以使用SQL发出全文查询(甚至可以将其与针对其他列的查询相结合)。 在甲骨文中,它看起来像
SELECT id FROM table WHERE CONTAINS(text_column, 'java AND text', 1) > 0;
有趣的是,我从未真正想过全文索引实际上是如何工作的。