我可以使用代码更改Solr data-config.xml文件吗?

时间:2013-07-10 21:09:47

标签: solr

我正在以数据块的形式索引我的数据库表行,我的查询如下所示:

SELECT S.test_file_result_id,S.syndrome, TDR.start_date AS start_date, TL.job_id AS job_id FROM Syndrome S STRAIGHT_JOIN Test_File_Result TF ON TF.id = S.test_file_result_id STRAIGHT_JOIN Test_Directory_Result TDR ON TDR.id=TF.test_directory_result_id STRAIGHT_JOIN Test_Run TR ON TR.id = TDR.test_run_id STRAIGHT_JOIN Test_Log TL ON TL.id = TR.test_log_id WHERE S.test_file_result_id between ? AND ?

我需要为两者提供不同的值?然后索引查询结果。

有没有办法在运行时更改查询或将值作为参数传递?

提前致谢。

1 个答案:

答案 0 :(得分:0)

如果您使用的是data import handler,那么您可以在调用导入URL时传递参数(比如名为param),并在data-config.xml中像${dataimporter.request.param}一样访问它。

您可以指定您的查询:

SELECT S.test_file_result_id,S.syndrome, TDR.start_date AS start_date, TL.job_id AS job_id FROM Syndrome S STRAIGHT_JOIN Test_File_Result TF ON TF.id = S.test_file_result_id STRAIGHT_JOIN Test_Directory_Result TDR ON TDR.id=TF.test_directory_result_id STRAIGHT_JOIN Test_Run TR ON TR.id = TDR.test_run_id STRAIGHT_JOIN Test_Log TL ON TL.id = TR.test_log_id WHERE S.test_file_result_id between ${dataimporter.request.min_id} AND ${dataimporter.request.max_id}

并调用导入,如:

/dataimport?command=full-import&min_id=1&max_id=1000