我想建立一个产品搜索引擎。
我正在考虑使用谷歌网站搜索,但这真的是搜索谷歌的网站索引。我不想搜索那个。我希望在给定关键字的数据库中搜索特定的表(所有字段,甚至是用户从未看到的字段)。
但是我希望这次搜索能够尽可能强大,我想知道是否已经有了我可以使用的东西?如果不是最好的方法来自己制作它?
答案 0 :(得分:6)
答案 1 :(得分:2)
我首先关注MySQL全文搜索。看看这些链接:
以下是第一个链接的摘录:
使用执行全文搜索 MATCH()... AGAINST语法。的 MATCH() 采用以逗号分隔的列表 命名要搜索的列。 AGAINST需要一个字符串来搜索, 和一个可选的修饰符 表示搜索的类型 执行即可。搜索字符串必须是a 文字字符串,不是变量或 列名。有三种类型 全文搜索:
答案 2 :(得分:1)
就那些已经存在的东西而言,看看这些:
答案 3 :(得分:1)
SELECT * FROM table WHERE value REGEXP'searchterm'
允许您使用许多熟悉的搜索技巧,例如+,“”等
这是MySQL的本机功能。无需使用可能更快的新语言或插件,但也需要额外的时间进行维护,故障排除等。
它可能比做一些疯狂的基于C ++的mashup慢一点,但用户通常不会注意到毫秒之间的差异......
答案 4 :(得分:1)
您可能还想要研究的一件事(如果您不打算使用狮身人面像),stemming your keywords。它会使匹配的关键字更容易一些(因为词干'奶酪'和'俗气'最终会产生相同的词干),这使得你的关键词匹配更加灵活。