search - Lucene 或 Mysql 全文搜索

标签 search lucene solr full-text-search

关闭。这个问题是opinion-based .它目前不接受答案。












想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题.

7年前关闭。




Improve this question




如今,当开始一个网络/移动应用程序项目时,搜索将成为一个重要的变量。从一开始就使用 Lucene 还是快速部署基于 MySQL 的解决方案并希望最好?

最佳答案

我在 2010 年 11 月做出了同样的决定。我是 mysql 的 friend ,并尝试首先在 mysql 上构建一个搜索应用程序 - 效果很好......
...而且很快(我认为它很快):搜索 200.000 个文档(不超过 2-3 秒)

我避免花时间在 lucene/solr 上,因为我想利用这段时间来开发应用程序。并且:lucene 对我来说是新的...我不知道,如果它足够好,我不知道它是什么....
最后:你无法改变一生的习惯。

但是,我遇到了模糊搜索(难以在 mysql 中实现)或“更像这样”(必须在使用 mysql 的应用程序中从 scrat 编码或简单使用“更像这样”的 solr 功能)的不同问题盒子外面)。
最后,文档数量上升到一百万,现在 mysql 需要超过 15 秒来搜索文档。

所以我决定从 lucene 开始,感觉就像我打开了一扇通往新世界的门。
许多功能(我几乎没有编码应用程序功能)现在由 solr 提供并且开箱即用。全文搜索要快得多:在 100 万个文档中不到 50 毫秒,如果被缓存,则不到 1 毫秒。

因此,投入的时间得到了返回。

因此,如果您考虑进行全文搜索:如果您有多个数据,请使用 lucene。
顺便说一句:我正在使用混合结构:将数据保存在 mysql 和 lucene 中只是一个(几乎)没有存储数据的索引(以保持该索引小而快)。

关于search - Lucene 或 Mysql 全文搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6820527/

相关文章:

search - 基于联系人标签的 Gmail 过滤器

java - 如何使用java从mysql过滤数据并将其显示在jtable中

javascript - 如何选择文本中的 <div> block ?

Mysql 搜索 - InnoDB 和事务与 MyISAM 的全文搜索

search - 解码以下 Solr 查询

solr - SolrJ 客户端使用的 Solr 服务器(Solr 4.0)的默认地址是什么

sqlite - 今天最快的全文搜索?

java - Solr 中的 volatile 数据

solr - 查询多值字段中的特定索引值

PHP Solr PECL 扩展安装