Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 拉威尔搜索引擎_Php_Mysql_Search_Laravel_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch - Fatal编程技术网 elasticsearch,Php,Mysql,Search,Laravel,elasticsearch" /> elasticsearch,Php,Mysql,Search,Laravel,elasticsearch" />

Php 拉威尔搜索引擎

Php 拉威尔搜索引擎,php,mysql,search,laravel,elasticsearch,Php,Mysql,Search,Laravel,elasticsearch,我正在为一个移动应用程序使用Laravel构建一个RESTAPI。现在我需要一个搜索引擎 首先,我从未使用过任何搜索引擎。因此,我正在寻找一个简单的工作,但仍然善于全文搜索和过滤“哪里” 我要对其执行搜索的表有1列(varchar45),需要通过全文搜索进行搜索,然后有5列(int),用于使用“where”语句进行筛选。-使用mysql方法。我还对该表执行内部联接,以便在生成结果时打印出一些其他内容 所以我看了《斯芬克斯》和《Elasticsearch》,决定选择《ES》 我观看了拉拉康的ES简

我正在为一个移动应用程序使用Laravel构建一个RESTAPI。现在我需要一个搜索引擎

首先,我从未使用过任何搜索引擎。因此,我正在寻找一个简单的工作,但仍然善于全文搜索和过滤“哪里”

我要对其执行搜索的表有1列(varchar45),需要通过全文搜索进行搜索,然后有5列(int),用于使用“where”语句进行筛选。-使用mysql方法。我还对该表执行内部联接,以便在生成结果时打印出一些其他内容

所以我看了《斯芬克斯》和《Elasticsearch》,决定选择《ES》

我观看了拉拉康的ES简介:

我还看了一下这个包裹:

这给我留下了几个问题:

1)我是否要删除mysql数据库并将所有数据存储在ES中

2)如果1-yes,我还可以使用mysql数据库,只使用ES存储索引吗因为我只需要在一个表上执行搜索(总共搜索5行)

3如果2-yes,我是否仍将当前索引保留在mysql表中?例如,标题栏上的全文索引,另一列上的FK和其他3列上的索引

4由于这是我第一次使用搜索引擎,是否有其他教程/书籍/片段介绍如何将ES与Laravel一起使用


提前感谢

我最近也在解决同样的问题。 我的意见是:

1.否。一定要保留数据库以存储数据。ES不是用来替换数据库的。它主要是搜索引擎

4.你可以在这里找到不错的教程:(作为起点)

我建议你也阅读(更好地理解ES)

我个人仍然将所有信息存储在MySQL上,我只是在elasticsearch中存储大表,并仅用于搜索大数据,其中完整索引很慢,或者我需要获得有序的结果。还请记住,将数据存储在某种数据库中会有好处。将所有信息存储在ES上并不好,因为据我所知,没有快速的方法导出ES数据并将其导入另一台服务器。如果您选择在ES中仍然使用MySQL,只保留您需要的索引(例如,如果您不是按全文搜索,请将其删除)。谢谢Igor。然后我就有一份ES表格的副本。我以前发现过那个教程,它很棒。我甚至在laracasts论坛上把它链接起来,因为我看到很多人都在问关于ES的问题。现在我面临着一个新问题,以防你有时间去研究它。首先,我无法将MySql时间戳映射到ES中,我尝试了long/timestamp/integers,但都不起作用。你们可以在第二秒看到更多,我有一个ES排序函数的问题。我的查询看起来像$sort=['sort'=>['id'=>'desc']]$posts=Post::searchByQuery($query,null,null,null,$sort);