文章地址:http://quentinxxz.iteye.com/blog/2100619
本文所有实验在solr4.4上进行
quickStart 参考 http://wiki.apache.org/solr/DIHQuickStart
步骤1: 首先修改solrconfig.xml 加往上DataImportHandler的配置
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> <lst name="defaults"> <str name="config">data-config.xml</str> </lst> </requestHandler>
步骤2:配置solr服务器时一般报这个错org.apache.solr.common.SolrException: RequestHandler init failure或java.lang.ClassNotFoundException: org.apache.solr.handler.dataimport.DataImportHandler异常。原因是找不到solr-dataimporthandler-4.4.0.jar这个jar包,默认不在solr.war包里,在下载包的dist目录下
我的做法是直接
solr-dataimporthandler-4.4.0.jar 与solr-dataimporthandler-extra-4.4.0.jar 两个jar包放入solr-webapp\webapp\WEB-INF\lib目录
mysql-connector-java-5.1.31.jar 也要放入该目录下。
当然也可以利用solrconfig.xml中的lib标签进行配置
<lib ...... />
步骤3: 新建data-config.xml 文件,到conf目录下。示例如下
<dataConfig>
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://199.xxx.xxx.xxx/quentinxxz_com"
user="qqq"
password="qqq"/>
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://199.xxx.xxx.xxx/quentinxxz_com"
user="qqq"
password="qqq"/>
<document>
<entity name="product"
query="select id, price,modify_time from tts_product">
<field column="price" name="tts_price"/>
<field column="modify_time" name="tts_modify_time"/>
</entity>
</document>
</dataConfig>
<entity name="product"
query="select id, price,modify_time from tts_product">
<field column="price" name="tts_price"/>
<field column="modify_time" name="tts_modify_time"/>
</entity>
</document>
</dataConfig>
步骤4:再在schema.xml中加入field
<field name="tts_price" type="int" indexed="true" stored="true" />
<field name="tts_modify_time" type="date" indexed="true" stored="true" />
<field name="tts_modify_time" type="date" indexed="true" stored="true" />
步骤5: 访问http://solr-host:port/solr/dataimport?command=full-import 进行一步全量索引。默认情况下,索引先被全部清除。如果你不想清除可加入参数clean=false. http://solr-host:port/solr/dataimport?command=full-import&clean=false
<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">35</int>
</lst>
<lst name="initArgs">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</lst>
<str name="command">full-import</str>
<str name="status">idle</str>
<str name="importResponse"/>
<lst name="statusMessages"/>
<str name="WARNING">
This response format is experimental. It is likely to change in the future.
</str>
</response>
当然也可能通过web ui界面进行索引操作
相关推荐
《跟益达学Solr5之从MySQL数据库导入数据并索引》这篇文章主要探讨了如何使用Apache Solr 5从MySQL数据库中导入数据并建立索引,以便进行高效的全文搜索。Solr是一款强大的开源搜索服务器,它提供了丰富的查询语言、...
在这个主题“跟益达学Solr5之增量索引MySQL数据库表数据”中,我们将深入探讨如何利用Solr 5来实现对MySQL数据库表数据的增量索引,以便在搜索时获得实时更新的结果。 首先,我们需要理解什么是增量索引。在传统的...
在Solr6版本中,DataImportHandler(DIH)是一个非常重要的特性,它允许Solr从外部数据源导入数据并建立索引。在"solr6--solr-dataimporthandler-scheduler-1.1"这个项目中,我们关注的重点是DIH的调度功能,也就是...
在Solr中,DataImportHandler(DIH)组件是一个强大的工具,用于从各种外部数据源,如关系型数据库(如MySQL)中导入数据并建立全文索引。在本例中,我们将探讨如何使用Solr 3.6版本的DIH组件来对MySQL数据库中的...
在SOLR中,这通常通过DataImportHandler (DIH) 实现,这是一个内建的数据导入工具,允许从外部数据源如MySQL获取数据并建立索引。配置过程包括以下几个步骤: 1. **配置SOLR核心**:在SOLR的`solrconfig.xml`配置...
3. **数据同步**:通过Solr的DIH定期或实时从MySQL中抽取数据,更新到Solr索引,实现数据库和搜索索引的同步。 **IK分词器** 1. **IK Analyzer介绍**:IK分词器支持自定义词典,具备动态扩展性,可以处理中文的...
完成上述步骤后,Solr就可以通过DataImportHandler(DIH)从MySQL数据库中导入数据并建立索引。在Solr Admin界面中,触发数据导入,索引过程就会开始。索引建立完成后,你就可以在Solr中使用搜索功能,查询MySQL...
2. **索引构建**:京东案例可能会展示如何将大量的商品数据、用户评价、订单信息等导入到Solr中,建立索引的过程。这涉及数据源的连接、数据转换(如JSON、XML格式)以及使用Solr的DataImportHandler(DIH)或其他...
DIH允许Solr从多种关系型数据库中导入数据并建立索引。配置过程包括: 1. 配置Solr的data-config.xml文件,定义数据源和数据表,以及如何映射字段到Solr。 2. 在Solr的solrconfig.xml中启用DIH并设置相应的参数。 ...
本实践教程将指导你如何整合MySQL数据库与Solr 8.2.0,实现数据的高效检索。 一、安装与部署Solr 8.2.0 首先,你需要从官方源下载Solr 8.2.0的压缩包`solr-8.2.0.rar`,解压后得到包含`bin`、`server`等目录的完整...
这通常通过 DataImportHandler (DIH) 实现,它能够定期从关系数据库抽取数据并建立索引。 3. **中文分词支持**:对于中文文本,分词是必不可少的步骤,因为中文词语之间没有明显的分隔符。本配置集成了多个中文分词...
一旦配置完成,Solr会根据`data-config.xml`和`delta-data-config.xml`的设置,自动从数据库中抓取数据并建立索引。这样,当数据库中的数据发生变化时,Solr可以通过增量索引实时或定期更新索引,保持与数据库的一致...
- **建立索引**: Solr能够自动为接收到的数据建立索引,以便于后续的快速检索。 - **数据检索**: Solr支持全文搜索、高亮显示、精确匹配等多种检索方式,能够满足复杂多变的搜索需求。 #### 三、Solr的依赖环境 ...
- **建立索引**:Solr 自动为存储的数据建立索引,便于后续的检索操作。 - **数据检索**:Solr 支持多种检索方式,包括全文搜索、高亮显示、精确搜索等。 4. **Solr 依赖环境** - **JDK** 版本:1.7 或以上 - *...
例如,如果你有MySQL数据库,可以使用Solr的DataImportHandler来实时同步数据。 - 索引优化:定期执行`optimize`操作,合并多个段以提高查询性能。 4. **查询与搜索** - 查询API:Solr提供基于HTTP的RESTful API...
这可以通过使用Solr的DataImportHandler(DIH)实现,DIH能够定期或实时地从数据库拉取数据并更新到Solr索引中。配置包括在solrconfig.xml中启用DIH,设置数据源和映射规则,以及可能的触发更新策略。 4. **IK中文...
- 实时索引:通过Full Import或Delta Import命令,Solr可以实时或定期从MySQL中同步数据,建立索引,实现数据库变化的即时反映。 3. **分词功能**: - 分词器(Tokenizer):Solr支持多种分词器,如...
这些jar包是Solr功能实现的基础,涵盖了从索引建立、查询处理到结果排序等多个关键环节。 首先,我们要理解什么是JAR(Java Archive)文件。JAR文件是Java平台特有的归档格式,用于集合多个类文件、资源文件以及元...
6. **多种数据源支持**:Solr可以通过各种数据导入工具(如DataImportHandler)连接到各种数据库,如MySQL、Oracle等,进行数据导入和索引建立。 7. ** faceted search(分面搜索)**:Solr支持分面搜索,可以为...