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