Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.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 从sphinx数据库中删除所有数据_Php_Sphinx - Fatal编程技术网

Php 从sphinx数据库中删除所有数据

Php 从sphinx数据库中删除所有数据,php,sphinx,Php,Sphinx,我想知道如何从sphinx表中删除所有数据 因为我想将新数据存储到表中 谢谢,请提前。我想,世上没有斯芬克斯表,只有索引文件 如果要删除当前拥有的所有sphinx索引,请停止sphinx并删除sphinx数据文件夹中的所有索引文件;然后您可以再次运行indexer,它将创建新的索引文件。我们通过sphinx indexer使CPU达到最大值。斯芬克斯接管了我们的磁盘“设备上没有空间”。。。使一个70GB的文件比我们的数据库大4倍。我们发现我们的问题是我们在cron中运行索引器,每10分钟一次。。

我想知道如何从sphinx表中删除所有数据

因为我想将新数据存储到表中


谢谢,请提前。

我想,世上没有斯芬克斯表,只有索引文件


如果要删除当前拥有的所有sphinx索引,请停止sphinx并删除sphinx数据文件夹中的所有索引文件;然后您可以再次运行indexer,它将创建新的索引文件。

我们通过sphinx indexer使CPU达到最大值。斯芬克斯接管了我们的磁盘“设备上没有空间”。。。使一个70GB的文件比我们的数据库大4倍。我们发现我们的问题是我们在cron中运行索引器,每10分钟一次。。。有时索引器需要10分钟以上。。。这些工作会累加起来。解决方案:

ps aux |grep indexer
kill ___;#job number of indexer processes
ls -alS /var/lib/sphinx/data|head
rm /var/lib/sphinx/data/*.tmp.*
#adjust cron to run less frequently...
#add disk space...

所以在这种情况下,不是删除所有的斯芬克斯索引。。。我只删除了堆积如山的tmp文件,并以这种方式恢复了大量空间。

嘿,我还有一个问题。我只从sphinx的结果中获取文档id。我需要从表中获取所有列。我将在conf文件或任何地方更改什么。如果你知道,请让我告诉你。你需要做对两件事(可能你已经做了第一件)。1.将sphinx配置文件中的sql_查询属性(如果您正在使用sql)设置为类似“从myTable中选择id、field1、field2”,以便sphinx知道从何处获取文档2。使您的字段具有sphinx属性,以便sphinx知道在其索引中存储什么。例如,如果“field1”是一个整数,那么sphinx配置文件中应该有这样一行:“sql\u attr\u uint=field1”。有关更多信息,请参阅sphinx文档。