Php 如何将mysql数据库自动索引到solr

Php 如何将mysql数据库自动索引到solr,php,mysql,solr,amazon-ec2,Php,Mysql,Solr,Amazon Ec2,我已经在EC2实例中安装了solr,运行良好。但现在我需要使用cronjob自动将mysql数据库索引到solr。我尝试了一些使用cron job的方法 这是我试过的东西 */2 * * * * cd /var/www/html/cronjob && /var/www/html/cronjob/update-solr.sh 但是这个命令在EC2实例中给出了pattern not found错误 这是我的solr配置 <dataConfig> <da

我已经在EC2实例中安装了solr,运行良好。但现在我需要使用cronjob自动将mysql数据库索引到solr。我尝试了一些使用cron job的方法

这是我试过的东西

*/2 * * * * cd /var/www/html/cronjob && /var/www/html/cronjob/update-solr.sh
但是这个命令在EC2实例中给出了pattern not found错误

这是我的solr配置

<dataConfig>


    <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver"
                url="jdbc:mysql://localhost:3306/testing" user="root" password="123"
                batchSize="1" />
    <document name="content">

        <entity name="mainsearch"
                query="select @curRow := @curRow + 1,a.* from ( select jb_title,Companyname,job_id from `jobs` 
 where jb_approve_status='1' AND
 jobs.is_deleted = '0'
 ) as a JOIN (SELECT @curRow := 0) r;
">
            <field column="@curRow := @curRow + 1" name="uniqueid" />
            <field column="Companyname" name="COMPANY_NAME" />
            <field column="jb_title" name="JOB_TITLE" />
            <field column="job_id" name="id" />

        </entity>

    </document>
</dataConfig> 

请检查我在选择实体mainsearch后手动单击执行按钮的屏幕截图。

因此,尝试使用stackoverflow中提供的其他解决方案,如下所示

0,30 * * * * /usr/bin/wget http://<solr_host>:8983/solr/<core_name>/dataimport?command=full-import 
0,30****/usr/bin/wget http://:8983/solr//dataimport?命令=完全导入

上述解决方案没有索引mainsearch实体数据,因此如何使用cronjob索引entity=mainsearch数据。提前感谢。

请记住,任何脚本的前缀都应该是
#/bin/bash
或类似工具提供解释器-当通过cron执行解释器时,它将没有用于解析的现有shell。如果从命令行手动执行,触发数据导入是否有效?我正在使用此命令#/bin/bash wgetProgram=wget urlCmd=''statusCmd=''outputDir=$wgetProgram-O$outputDir/check_status_update_index.txt${statusCmd}2>/dev/null status=
fgrep idle$outputDir/check_status_update_index.txt
如果[${status}==idle]],那么$wgetProgram-O$outputDir/status_update_index.txt${urlCmd 2>/dev/null firember任何脚本都应该以
为前缀/bin/bash
或类似工具提供解释器-当通过cron执行解释器时,它将没有用于解析的现有shell。如果从命令行手动执行,触发数据导入是否有效?我正在使用此命令#/bin/bash wgetProgram=wget urlCmd=''statusCmd=''outputDir=$wgetProgram-O$outputDir/check_status\u update_index.txt${statusCmd}2>/dev/null status=
fgrep idle$outputDir/check_status\u update_index.txt
如果[${status}==idle]],那么$wgetProgram-O$outputDir/status\u update_index.txt${urlCmd 2>/dev/null-fi