我一直在研究 Sphinx、Solr 和 Elasticsearch 等搜索解决方案,但它们对于我的需求来说都太复杂了。
我基本上是在寻找一种分布式服务器软件,它允许我直接输入与单个小标识符相关联的文本块。然后快速查找关键字并返回与一个或多个关键字匹配的块的标识符。
有这样的事情存在吗?
答案1
您可以尝试 Mysql 或 MongoDB 全文搜索功能。
http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html
http://www.mongodb.org/display/DOCS/Full+Text+Search+in+Mongo
答案2
Postgres 对全文搜索具有出色的开箱即用支持。
我确实使用 Elasticsearch,我确实从 sphinx 迁移过来,是的,学习曲线更高,但它是值得的,因为它有一种非常灵活的方式来使用 JSON 进行查询。
答案3
不幸的是,您无法通过 MySQL 全文搜索获得与专用搜索解决方案相同水平的性能,但这引出了一个问题——您在意吗?
sphinx搜索将为您提供更快的索引、更高级的查询、增量更新,并且它可以与 MySQL 一起开箱即用 - 但它仍然是一个需要运行和维护的单独服务。 mysql会慢一点,索引速度也会随着集合的增大而变慢,但它是内置的,不需要任何额外的服务在后台运行。所以问题是,你真的关心查询需要 1 秒还是 10 秒吗?