我正在使用Laravel构建一个REST api来供移动应用使用。现在我需要一个搜索引擎。
首先,我从未使用过任何搜索引擎。因此,我正在寻找一种简单易用但仍能很好地进行全文搜索和使用“where”语句过滤的搜索引擎。
我要在其中执行搜索的表有1列(varchar45),需要通过全文搜索进行搜索,然后有5个列(int)用于使用“where”语句进行过滤 - 使用mysql方法。我还对该表执行inner join以生成结果时打印出其他内容。
因此,我查看了sphinx和Elasticsearch,并决定选择ES。
我观看了Laracon中关于ES的介绍:https://www.youtube.com/watch?v=waTWeJeFp4A 我还看了这个包: https://github.com/freekmurze/searchindex 这让我有几个问题:
1)我是否删除我的mysql数据库并只存储所有数据在ES中?
2)如果1-是的话,我是否仍然可以使用mysql数据库,仅使用ES来存储索引?- 因为我只需要在一个表上执行搜索(总共搜索5行)。 3)如果2-是的话,我是否仍然保留当前mysql表中的索引?例如,标题列上的全文索引,另一列上的FK和其他3个列上的索引。
4)由于这是我第一次使用搜索引擎,是否有任何关于如何使用ES与Laravel的其他教程/书籍/代码片段?
感谢您的帮助。
首先,我从未使用过任何搜索引擎。因此,我正在寻找一种简单易用但仍能很好地进行全文搜索和使用“where”语句过滤的搜索引擎。
我要在其中执行搜索的表有1列(varchar45),需要通过全文搜索进行搜索,然后有5个列(int)用于使用“where”语句进行过滤 - 使用mysql方法。我还对该表执行inner join以生成结果时打印出其他内容。
因此,我查看了sphinx和Elasticsearch,并决定选择ES。
我观看了Laracon中关于ES的介绍:https://www.youtube.com/watch?v=waTWeJeFp4A 我还看了这个包: https://github.com/freekmurze/searchindex 这让我有几个问题:
1)我是否删除我的mysql数据库并只存储所有数据在ES中?
2)如果1-是的话,我是否仍然可以使用mysql数据库,仅使用ES来存储索引?- 因为我只需要在一个表上执行搜索(总共搜索5行)。 3)如果2-是的话,我是否仍然保留当前mysql表中的索引?例如,标题列上的全文索引,另一列上的FK和其他3个列上的索引。
4)由于这是我第一次使用搜索引擎,是否有任何关于如何使用ES与Laravel的其他教程/书籍/代码片段?
感谢您的帮助。