文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
全文搜索引擎简介
对于全文搜索的支持不像关系数据库那样是标准化的。 有几种开源的全文搜索引擎: Elasticsearch , Apache Solr , Whoosh , Xapian , Sphinx 等等,如果这还不够,常用的数据库也可以像我上面列举的那些专用搜索引擎一样提供搜索服务。 SQLite , MySQL 和 PostgreSQL 都提供了对搜索文本的支持,以及 MongoDB 和 CouchDB 等 NoSQL 数据库当然也提供这样的功能。
如果你想知道哪些应用程序可以在 Flask 应用中运行,那么答案就是所有! 这是 Flask 的强项之一,它在完成工作的同时不会自作主张。 那么到底选择哪一个呢?
在专用搜索引擎列表中,Elasticsearch 非常流行,部分原因是它在 ELK 栈中是用于索引日志的“E”,另两个是 Logstash 和 Kibana。 使用某个关系数据库的搜索能力也是一个不错的选择,但考虑到 SQLAlchemy 不支持这种功能,我将不得不使用原始 SQL 语句来处理搜索,否则就需要一个包, 它提供一个文本搜索的高级接口,并与 SQLAlchemy 共存。
基于上述分析,我将使用 Elasticsearch,但我将以一种非常容易切换到另一个搜索引擎的方式来实现所有文本索引和搜索功能。 你可以用其他搜索引擎的替代替换我的实现,只需在单个模块中重写一些函数即可。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论