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