PostgreSQL的和MySQL的全文搜索
我想你可以在MySQL和Postgres中使用Sphinx。 这里是an article解释如何使用狮身人面像与MySQL(你可以将其添加为一个插件)
狮身人面像仅适用于MySQL。也就是说,它只支持从MySQL获取数据。 – Timmmm 2012-10-17 11:47:00
PostgreSQL 8.3版本已经内置全文检索这是“安装tsearch2”的综合版,
这里是文档:http://www.postgresql.org/docs/8.3/static/textsearch.html
而且从文档的例子:
SELECT title
FROM pgweb
WHERE to_tsvector(body) @@ to_tsquery('friend');
凡身体是一个文本字段。您可以专门为这些类型的搜索索引,当然它们可能比这个简单的例子更复杂。功能非常扎实,值得您在做出决定时潜入。
祝你好运。
开箱即用的全文搜索速度很慢,请务必彻底研究查询优化策略,否则您的UX将会像28.8k调制解调器一样糟糕。 – 2012-09-27 19:01:27
如果您使用Hibernate作为ORM,我强烈建议使用Hibernate搜索。它建立在Lucene之上,所以它的速度非常快。
卡尔
我已经在PostgreSQL /安装tsearch2相当不错的经验,特别是因为它卷成标准分布(8.0之前的版本 - 我认为 - 这是一个可选的contrib功能,并且升级到安装tsearch2参与一点工作)。
如果我记得正确的话,你必须在启动前设置一些属性(模糊匹配,字典的东西),而在其他数据库中,这些东西通过全文语法本身灵活地公开(我在考虑Oracle Text我知道这与你的问题无关)。
Mysql全文搜索很慢。它不能处理超过100万的数据(每个查询几十秒)。
我没有使用postgresql全文搜索的经验。
我已经使用sphinxsearch。它非常快速且易于使用。但它并不那么强大。我的意思是搜索功能。例如,它不支持'abc?',其中'?'代表任何角色。
我也知道lucene。它功能强大,但很难学习。
对于现在读这个的人来说,从MySQL 5.6开始,InnoDB支持全文搜索。 – YeB 2015-11-01 07:02:17