solr从数据库建立索引

2019-03-27 00:49|来源: 网路

修改D:\program\tomcat6\solrapp\solr\collection1\conf下solrconfig.xml文件,加入

<!-- #####################从数据库建立索引 20130418 start################################ -->
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
  <str name="config">qiye-data-config.xml</str>
</lst>
</requestHandler>
<!-- #####################从数据库建立索引 20130418 end################################ -->

D:\program\tomcat6\solrapp\solr\collection1\conf新建qiye-data-config.xml

<dataConfig>
  <dataSource type="JdbcDataSource" 
              driver="com.mysql.jdbc.Driver"
              url="jdbc:mysql://localhost:3306/qiye"
              user="root" 
              password="root"/>
  <document>
    <entity name="id" 
            query="select id,shopdesc from testshop">
    </entity>
  </document>
</dataConfig>

 

修改schema.xml

添加

    <!-- ########数据库索引############ -->
   <field name="shopdesc"  type="string" indexed="true" stored="true"/>
  <!-- ########数据库索引############ --> 
 
 <copyField source="shopdesc" dest="text"/>

修改:http://localhost:8080/solr/dataimport?command=full-import

记得加入mysql的jar包到D:\program\tomcat6\webapps\solr\WEB-INF\lib下


转自:http://www.cnblogs.com/atyou/archive/2013/04/18/3029551

相关问答

更多
  • QQ比微信功能多,都是用来聊天,微信有的功能QQ基本都有,而且功能更多,为什么还是有那么多人用微信呢
  • MySQL索引类型包括: (1)普通索引 这是最基本的索引,它没有任何限制。它有以下几种创建方式: ◆创建索引 CREATE INDEX indexName ON mytable(username(length)); 如果是CHAR,VARCHAR类型,length可以小于字段实际长度;如果是BLOB和TEXT类型,必须指定 length,下同。 ◆修改表结构 ALTER mytable ADD INDEX [indexName] ON (username(length)) ◆创建表的时候直接指定 CREA ...
  • schema.xml里配过 uniquekey 表示唯一值 默认是id 如果id相同那么执行更新操作而不是添加了
  • solr不安全,没事务 ,没有表关系
  • 严格来说,lucene负责数据存储,而solr只是一个引擎提供搜索和插入而已,跟数据库的解释器一样,有什么好处呢,比如一个数据库有一个字段存了1000个字,你想从这些字里面搜一个词的时候,普通的数据库只会让你使用like去查询,他会遍历每个字去模糊匹配,效率很低,而且有些是无法查询的,当然除了像一些特殊的数据库带有分词,比如postgresql,那lucene做的事情就是分词,然后去匹配分词的词中是否有你想搜的词就好了,当然了,为了提高这种检索效率和内存节省底层做了很复杂的事情,可以这么简单的认为,全文搜索 ...
  • 创建索引语法: CREATE [UNIQUE] | [BITMAP] INDEX index_name --unique表示唯一索引 ON table_name([column1 [ASC|DESC],column2 --bitmap,创建位图索引 [ASC|DESC],…] | [express])[TABLESPACE tablespace_name][PCTFREE n1] --指定索引在数据块中空闲空间 [STORAGE (INITIAL n2)][NOLOGGING] --表示创建和重建索引时允许 ...
  • 新建数据库例: 以mysql最高管理员登录,在mysql>create database XXXXX; xxxxx即为数据库名. 在mysql中如何创建用户,使该用户对该数据库有完全权限.可 以 用 GRANT 命 令 , 格 式 如 下 : GRANT 许可权 ON 数据库名.表名 TO 新用戶名@主机名 IDENTIFIED BY '密码'; grant all on husidb.* to john@localhost identified by ’201314’; 注:每一句mysql语句后面都跟有 ...
  • 新建数据库例: 以mysql最高管理员登录,在mysql>create database XXXXX; xxxxx即为数据库名. 在mysql中如何创建用户,使该用户对该数据库有完全权限.可 以 用 GRANT 命 令 , 格 式 如 下 : GRANT 许可权 ON 数据库名.表名 TO 新用戶名@主机名 IDENTIFIED BY '密码'; grant all on husidb.* to john@localhost identified by ’201314’; 注:每一句mysql语句后面都跟有 ...
  • 为什么要创建索引呢?这是因为,创建索引可以大大提高系统的性能。第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。第二,可以大大加快数据的检索速度,这也是创建索引的最主要的原因。第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。第四,在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。第五,通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。
  • 将Solr用作数据库是非常合理的,具体取决于您的应用。 事实上,这几乎是guardian.co.uk正在做的 。 这绝对不是坏习惯本身。 如果你使用错误的方法,就像任何级别的任何其他工具,甚至是GOTO,都是坏的。 当你说“一个XML表示...”时,我假设你正在谈论有多个存储的Solr字段,并使用Solr的XML格式检索它,而不只是一个大的XML内容字段(这将是一个非常可怕的使用Solr) 。 Solr使用XML作为默认响应格式的事实在很大程度上是无关紧要的,您也可以使用二进制协议 ,因此与传统的关系数据库 ...