使用标签的 Symfony 搜索
Symfony search with tags
我们正在构建一个包含多个不同实体的应用程序,这些实体在名称和描述以及一些特定内容方面非常简单。
现在我们要添加标签,目的是添加额外的搜索关键字。 (某处也会有标签云,不过很简单)
我一直在阅读有关进行正确搜索的不同方法。 lucene、elastic、mysql 全文匹配等解决方案。
有没有人有任何经验可以分享这种应用程序的最佳解决方案?
- 我应该将标签放在 string/array 字段中的相同 table 中吗?使用单独的 table?我还发现 DoctrineExtensions-Taggable 看起来很不错,而且制作标签云也很容易。
- 要正确搜索名称、描述和标签,最佳解决方案是什么?卢塞恩?松紧带? MySQL?到目前为止,我认为 FOSElasticaBundle 看起来最成熟,但不确定如何在标签上添加搜索? (见 1)
感谢指教!
"What's the best..." 通常不是在这里提问的好方法,您要么会得到非常自以为是的答案,要么根本 none。
所以这是我自以为是的答案:
如果你有一个小集合,你肯定可以 运行 与 MySQL 和 MATCH AGAINST(你需要教 Doctrine 如何使用它!)。这是最直接的事情,因为你已经有了 Doctrine,只需要教它一些东西。
所以,是的,Gedmo Taggable 和一些你自己的 Doctrine Extension,你有你的查询。
如果您的可搜索数据库将变得更大,您将需要切换到合适的搜索引擎,例如 Elastic 或 Solr 或其他任何引擎。
您在那里需要的通常称为 "Faceted Search"(或者在 ElasticSearch 中,它们现在称为 "Aggregations")。
例如,您在 Wikipedia 上找到的有关分面搜索的更多信息。
是的,合适的搜索引擎更酷、更快、更华丽,但如果您按计划使用它并且是第一次使用它,它可能不是最佳解决方案。
我们正在构建一个包含多个不同实体的应用程序,这些实体在名称和描述以及一些特定内容方面非常简单。
现在我们要添加标签,目的是添加额外的搜索关键字。 (某处也会有标签云,不过很简单)
我一直在阅读有关进行正确搜索的不同方法。 lucene、elastic、mysql 全文匹配等解决方案。
有没有人有任何经验可以分享这种应用程序的最佳解决方案?
- 我应该将标签放在 string/array 字段中的相同 table 中吗?使用单独的 table?我还发现 DoctrineExtensions-Taggable 看起来很不错,而且制作标签云也很容易。
- 要正确搜索名称、描述和标签,最佳解决方案是什么?卢塞恩?松紧带? MySQL?到目前为止,我认为 FOSElasticaBundle 看起来最成熟,但不确定如何在标签上添加搜索? (见 1)
感谢指教!
"What's the best..." 通常不是在这里提问的好方法,您要么会得到非常自以为是的答案,要么根本 none。
所以这是我自以为是的答案:
如果你有一个小集合,你肯定可以 运行 与 MySQL 和 MATCH AGAINST(你需要教 Doctrine 如何使用它!)。这是最直接的事情,因为你已经有了 Doctrine,只需要教它一些东西。 所以,是的,Gedmo Taggable 和一些你自己的 Doctrine Extension,你有你的查询。
如果您的可搜索数据库将变得更大,您将需要切换到合适的搜索引擎,例如 Elastic 或 Solr 或其他任何引擎。
您在那里需要的通常称为 "Faceted Search"(或者在 ElasticSearch 中,它们现在称为 "Aggregations")。
例如,您在 Wikipedia 上找到的有关分面搜索的更多信息。
是的,合适的搜索引擎更酷、更快、更华丽,但如果您按计划使用它并且是第一次使用它,它可能不是最佳解决方案。