我是在Tomcat中使用的solr项目,在web.xml中不是可以配置solr/home,在SOLR数据包里面的配置文件中可以配置查询的内容。创建更新索引一般是在数据库进行提交事务的处理后。也可以使用定时器和手动更新。

解决方案 »

  1.   

    数据库事务提交后处理?solr项目一般不是独立的么?怎么在业务系统提交事务的时候进行更新索引?
      

  2.   

    数据库事务提交后处理?solr项目一般不是独立的么?怎么在业务系统提交事务的时候进行更新索引?
    solr项目是独立的,你说的索引不是查询到的数据吗?
    可能我理解错了,你可以先看看这个:http://stranger2008.iteye.com/blog/1812658
      

  3.   

    数据库事务提交后处理?solr项目一般不是独立的么?怎么在业务系统提交事务的时候进行更新索引?
    solr项目是独立的,你说的索引不是查询到的数据吗?
    可能我理解错了,你可以先看看这个:http://stranger2008.iteye.com/blog/1812658
    <entity name="goods" pk="goodsNo" query="select GOODS_NO,GOODS_NAME,CATALOG_ID,BRIEF,PIC_URL,SALE_PRICE,SALECOUNT,CREATE_DATE from goods where status='0'" 
       deltaImportQuery="select GOODS_NO,GOODS_NAME,CATALOG_ID,BRIEF,PIC_URL,SALE_PRICE,SALECOUNT,CREATE_DATE from goods where goods_no='${dataimporter.delta.goodsNo}'" 
       deltaQuery="select goods_no goodsNo from goods">
    </entity>
    刚看到这个配置
      

  4.   

    数据库事务提交后处理?solr项目一般不是独立的么?怎么在业务系统提交事务的时候进行更新索引?
    solr项目是独立的,你说的索引不是查询到的数据吗?
    可能我理解错了,你可以先看看这个:http://stranger2008.iteye.com/blog/1812658
    <entity name="goods" pk="goodsNo" query="select GOODS_NO,GOODS_NAME,CATALOG_ID,BRIEF,PIC_URL,SALE_PRICE,SALECOUNT,CREATE_DATE from goods where status='0'" 
       deltaImportQuery="select GOODS_NO,GOODS_NAME,CATALOG_ID,BRIEF,PIC_URL,SALE_PRICE,SALECOUNT,CREATE_DATE from goods where goods_no='${dataimporter.delta.goodsNo}'" 
       deltaQuery="select goods_no goodsNo from goods">
    </entity>
    刚看到这个配置
    从数据库往solr中添加索引:http://localhost:8080/solr/dataimport?command=full-import
    我理解的意思是:第一次添加索引是执行query,之后导入增量数据添加索引默认执行的是deltaImportQuery?是这个意思么?
      

  5.   

    数据库事务提交后处理?solr项目一般不是独立的么?怎么在业务系统提交事务的时候进行更新索引?
    solr项目是独立的,你说的索引不是查询到的数据吗?
    可能我理解错了,你可以先看看这个:http://stranger2008.iteye.com/blog/1812658
    <entity name="goods" pk="goodsNo" query="select GOODS_NO,GOODS_NAME,CATALOG_ID,BRIEF,PIC_URL,SALE_PRICE,SALECOUNT,CREATE_DATE from goods where status='0'" 
       deltaImportQuery="select GOODS_NO,GOODS_NAME,CATALOG_ID,BRIEF,PIC_URL,SALE_PRICE,SALECOUNT,CREATE_DATE from goods where goods_no='${dataimporter.delta.goodsNo}'" 
       deltaQuery="select goods_no goodsNo from goods">
    </entity>
    刚看到这个配置
    从数据库往solr中添加索引:http://localhost:8080/solr/dataimport?command=full-import
    我理解的意思是:第一次添加索引是执行query,之后导入增量数据添加索引默认执行的是deltaImportQuery?是这个意思么?
    对。
    有个地方是这么写的:
    query是获取全部数据的SQL(solr从sql中获取那些数据),多列
    deltaImportQuery是获取增量数据时使用的SQL(数据库新增数据追加到solr的数据),多列
    deltaQuery是获取pk的SQL(数据库新增数据是,追加到solr的数据时的条件,根据id ,条件是最后一次获取的时间,${dataimporter.last_index_time,最后获取的时间}),一列
      

  6.   

    数据库事务提交后处理?solr项目一般不是独立的么?怎么在业务系统提交事务的时候进行更新索引?
    solr项目是独立的,你说的索引不是查询到的数据吗?
    可能我理解错了,你可以先看看这个:http://stranger2008.iteye.com/blog/1812658
    <entity name="goods" pk="goodsNo" query="select GOODS_NO,GOODS_NAME,CATALOG_ID,BRIEF,PIC_URL,SALE_PRICE,SALECOUNT,CREATE_DATE from goods where status='0'" 
       deltaImportQuery="select GOODS_NO,GOODS_NAME,CATALOG_ID,BRIEF,PIC_URL,SALE_PRICE,SALECOUNT,CREATE_DATE from goods where goods_no='${dataimporter.delta.goodsNo}'" 
       deltaQuery="select goods_no goodsNo from goods">
    </entity>
    刚看到这个配置
    从数据库往solr中添加索引:http://localhost:8080/solr/dataimport?command=full-import
    我理解的意思是:第一次添加索引是执行query,之后导入增量数据添加索引默认执行的是deltaImportQuery?是这个意思么?
    对。
    有个地方是这么写的:
    query是获取全部数据的SQL(solr从sql中获取那些数据),多列
    deltaImportQuery是获取增量数据时使用的SQL(数据库新增数据追加到solr的数据),多列
    deltaQuery是获取pk的SQL(数据库新增数据是,追加到solr的数据时的条件,根据id ,条件是最后一次获取的时间,${dataimporter.last_index_time,最后获取的时间}),一列
    用定时器创建索引可以了。
    还想问一个问题,现在保存到索引的有新闻的标题title和内容content,查询的时候 params.set("q", "content:" + searchText + “ title:” + searchText); ,查询不到结果。我看baidu、csdn中的搜索,对标题和内容都进行了查询,是怎么做到的?
      

  7.   

    数据库事务提交后处理?solr项目一般不是独立的么?怎么在业务系统提交事务的时候进行更新索引?
    solr项目是独立的,你说的索引不是查询到的数据吗?
    可能我理解错了,你可以先看看这个:http://stranger2008.iteye.com/blog/1812658
    <entity name="goods" pk="goodsNo" query="select GOODS_NO,GOODS_NAME,CATALOG_ID,BRIEF,PIC_URL,SALE_PRICE,SALECOUNT,CREATE_DATE from goods where status='0'" 
       deltaImportQuery="select GOODS_NO,GOODS_NAME,CATALOG_ID,BRIEF,PIC_URL,SALE_PRICE,SALECOUNT,CREATE_DATE from goods where goods_no='${dataimporter.delta.goodsNo}'" 
       deltaQuery="select goods_no goodsNo from goods">
    </entity>
    刚看到这个配置
    从数据库往solr中添加索引:http://localhost:8080/solr/dataimport?command=full-import
    我理解的意思是:第一次添加索引是执行query,之后导入增量数据添加索引默认执行的是deltaImportQuery?是这个意思么?
    对。
    有个地方是这么写的:
    query是获取全部数据的SQL(solr从sql中获取那些数据),多列
    deltaImportQuery是获取增量数据时使用的SQL(数据库新增数据追加到solr的数据),多列
    deltaQuery是获取pk的SQL(数据库新增数据是,追加到solr的数据时的条件,根据id ,条件是最后一次获取的时间,${dataimporter.last_index_time,最后获取的时间}),一列
    用定时器创建索引可以了。
    还想问一个问题,现在保存到索引的有新闻的标题title和内容content,查询的时候 params.set("q", "content:" + searchText + “ title:” + searchText); ,查询不到结果。我看baidu、csdn中的搜索,对标题和内容都进行了查询,是怎么做到的?
    这个解决了 <solrQueryParser defaultOperator="OR"/>