Solr DataImportHandler清除索引

时间:2014-03-03 21:08:01

标签: unix solr crontab wget dataimporthandler

背景: 我使用Solr 4.0索引Oracle 11g数据库。我使用wget和Solaris / UNIX crontab(http://wiki.apache.org/solr/DataImportHandler)中的HTTP data-import命令启动导入。而不是增量导入,在我的数据配置查询到数据库我通过完全导入使用delta查询在这里解释(http://wiki.apache.org/solr/DataImportHandlerDeltaQueryViaFullImport)。这种方式使用clean = true和clean = false来区分完全导入和delta查询。这是必要的,因为生成我正在索引的数据的应用程序。

问题: 当我从浏览器(Firefox)获取Http时,通过完全导入的查询,完全导入和delta查询都可以正常工作。但是,当我使用crontab / wget发出EXACT相同的url命令时,索引最终会得到0(零!)文档。这只发生在我通过完全导入执行delta查询时 - 完全导入工作正常。由于完全导入可能需要超过24小时,因此我必须对索引进行增量更新。如何从导入中清除整个索引?整个索引被删除了?!怎么样?为什么?通过完全导入的delta查询在Firefox中工作正常并且如果cron / wget发出Get请求则删除整个索引是没有意义的。

想法?

1 个答案:

答案 0 :(得分:3)

您使用的是clean=false吗?每当command=full-import clean=true为默认值时,这意味着它将在开始时运行删除查询。

另外,请确保在crontab中输入带引号的完整更新网址。否则&之后的所有参数都将被shell解析出来,这可能意味着只有第一个参数进行了解析。