Solr索引数据库数据

2019-03-27 01:07|来源: 网路

1、在solr/config/solrconfig.xml中配置handler  配置xml如下:

  <!-- request handler  likehua -->
 
  <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
    <lst name="defaults">
      <str name="config">data-config.xml</str>
    </lst>
  </requestHandler>

2 其中data-config.xml和solrconfig.xml同目录,内容如下:

<dataConfig>
<dataSource  type="JdbcDataSource"
 driver="oracle.jdbc.driver.OracleDriver"
  url="jdbc:oracle:thin:@//192.98.12.216:1521/db11g"
  user="test1"
  password="test1"/>
    <document>
        <entity name="id"
          query="select OBJECTID,F_PRODUCTNAME,F_DATAFORMATDES from cj_billion">
          <field column="OBJECTID" name="id"/>
          <field column="F_PRODUCTNAME" name="geo_name"/> 
           <field column="F_DATAFORMATDES" name="geo_summary"/> 
        </entity>
    </document>
</dataConfig>

3、用到了oracle  jdbc ,确保solr classpath中有相关驱动。

4、数据导入使用了类org.apache.solr.handler.dataimport.DataImportHandler,这个类需要引入apache-solr-dataimporthandler-3.6.1.jar、apache-solr-dataimporthandler-extras-3.6.1.jar  位置在{SOLR_HOME}/lib下,如果没有lib目录创建之。


转自:http://www.cnblogs.com/likehua/archive/2012/12/26/2834632

相关问答

更多
  • QQ比微信功能多,都是用来聊天,微信有的功能QQ基本都有,而且功能更多,为什么还是有那么多人用微信呢
  • 在solr与tomcat整合文章中,我用的索引库是mycore,现在就以这个为例。 首先要准备jar包:solr-dataimporthandler-4.8.1.jar、solr-dataimporthandler-extras-4.8.1.jar和mysql-connector-java-5.0.7-bin.jar这三个包到solr的tomcat的webapps\solr\WEB-INF\lib下 在这个文件夹的conf下配置两个文件,添加一个文件。先配置solrconfig.xml。 在该文件下添加一个 ...
  • schema.xml里配过 uniquekey 表示唯一值 默认是id 如果id相同那么执行更新操作而不是添加了
  • solr不安全,没事务 ,没有表关系
  • 严格来说,lucene负责数据存储,而solr只是一个引擎提供搜索和插入而已,跟数据库的解释器一样,有什么好处呢,比如一个数据库有一个字段存了1000个字,你想从这些字里面搜一个词的时候,普通的数据库只会让你使用like去查询,他会遍历每个字去模糊匹配,效率很低,而且有些是无法查询的,当然除了像一些特殊的数据库带有分词,比如postgresql,那lucene做的事情就是分词,然后去匹配分词的词中是否有你想搜的词就好了,当然了,为了提高这种检索效率和内存节省底层做了很复杂的事情,可以这么简单的认为,全文搜索 ...
  • 严格来说,lucene负责数据存储,而solr只是一个引擎提供搜索和插入而已,跟数据库的解释器一样,有什么好处呢,比如一个数据库有一个字段存了1000个字,你想从这些字里面搜一个词的时候,普通的数据库只会让你使用like去查询,他会遍历每个字去模糊匹配,效率很低,而且有些是无法查询的,当然除了像一些特殊的数据库带有分词,比如postgresql,那lucene做的事情就是分词,然后去匹配分词的词中是否有你想搜的词就好了,当然了,为了提高这种检索效率和内存节省底层做了很复杂的事情,可以这么简单的认为,全文搜索 ...
  • 将Solr用作数据库是非常合理的,具体取决于您的应用。 事实上,这几乎是guardian.co.uk正在做的 。 这绝对不是坏习惯本身。 如果你使用错误的方法,就像任何级别的任何其他工具,甚至是GOTO,都是坏的。 当你说“一个XML表示...”时,我假设你正在谈论有多个存储的Solr字段,并使用Solr的XML格式检索它,而不只是一个大的XML内容字段(这将是一个非常可怕的使用Solr) 。 Solr使用XML作为默认响应格式的事实在很大程度上是无关紧要的,您也可以使用二进制协议 ,因此与传统的关系数据库 ...
  • 是的,如果您使用的是Solr 4+,则可以将部分更新推送到Solr索引。 SCHEMA 对于部分更新, 需要存储schema.xml中的所有字段 。 这是您的fields部分在schema.xml中的样子:
  • 我最终使用了Lucene Merge Index工具。 SOLR方法对我不起作用(钝误)。 I ended up using the Lucene Merge Index tool. The SOLR approaches did not work for me (obtuse errors).
  • 从Solr管理面板看一下你的日志,如果有关于索引过程的任何提示,在url / solr /#/ ~logs中如果你在尝试导入文档时看到任何错误,点击日志行就会给出您有关错误的其他信息。 既然你提到了Solr Admin,我想你正在使用数据导入处理程序。 这是一个非常(非常!)的基本配置,假设你是从mysql索引: