2010-06-16 113 views

回答

4

我想,没有像狮身人面像表这样的东西,只有索引文件。

如果你想删除所有的狮身人面像索引,你当前有停止狮身人面像,并删除您的狮身人面像的数据文件夹中的所有索引文件;那么你可以再次运行索引器,这将创建新的索引文件。

+0

嘿,我有另一个问题。 我只从狮身人面像的结果中获取文档ID。 我需要从表中获取所有列。 我将在conf文件或任何地方更改什么。 如果你知道,请让我通知。 – 2010-06-23 14:50:37

+0

你需要得到2件事情(可能你已经做了第一件事)。 1.将sphinx配置文件中的sql_query属性设置为“SELECT id,field1,field2 FROM myTable”,这样sphinx将知道从哪里获取文档 2. Make你的领域狮身人面像的属性,以便狮身人面像知道要存储在它的索引。例如,如果'field1'是一个整数,你应该在你的sphinx配置文件中有这样一行:“sql_attr_uint = field1”。 有关更多信息,请参见sphinx文档。 – 2010-06-24 21:00:52

0

我们通过sphinx索引器让我们的CPU达到最大。狮身人面像接管了我们的磁盘“设备上没有剩余空间”......通过制作比我们的数据库大4倍的70GB文件。我们发现我们的问题是我们在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文件,并恢复吨的空间的方式。