`

solr学习笔记--从数据库中创建索引dataimport

阅读更多

solr4.10 

1、需要准备的jar包;数据库驱动jar包  mysql-connector-java-5.1.17-bin.jar,solr-dataimporthandler-4.10.0.jar;

solrconfig.xml 中引入

<lib dir="F:/SolrHome/multicore/lib" regex=".*\.jar" />

 

2、在配置文件F:\SolrHome\multicore\core1\conf\solrconfig.xml 中添加请求处理类,同时加载数据源的配置;

<requestHandler  name = "/dataimport"   class="org.apache.solr.handler.dataimport.DataImportHandler">   

<lst   name ="defaults">   

<str   name = "config">data-config.xml </str>   

</lst>   

</requestHandler> 

3、配置数据源,新建文件 F:\SolrHome\multicore\core1\conf\data-config.xml

配置如下

 

-<dataConfig>

<dataSource password="root" user="root" url="jdbc:mysql://127.0.0.1:3306/jiaju" driver="com.mysql.jdbc.Driver" type="JdbcDataSource"/>

-<document>

<entity query="select aid,title,author from article" name="article"> </entity>

</document>

</dataConfig>

Index the fields in different names

 

Step: 1 Change the data-config as follows :

<dataConfig>  <dataSource type="JdbcDataSource" 
              driver="com.mysql.jdbc.Driver"              url="jdbc:mysql://localhost/dbname" 
              user="user-name" 
              password="password"/>  <document>    <entity name="id" 
            query="select id,name,desc from mytable">       <field column="id" name="solr_id"/>       <field column="name" name="solr_name"/>       <field column="desc" name="solr_desc"/>    </entity>  </document></dataConfig>

 

Step 2 : This time the fields will be written to the solr fields 'solr_id', 'solr_name', solr_desc'. You must have these fields in the schema.xml. Step 3 :

Index data from multiple tables into Solr

 

Step: 1 Change the data-config as follows :

<dataConfig>  <dataSource type="JdbcDataSource" 
              driver="com.mysql.jdbc.Driver"              url="jdbc:mysql://localhost/dbname" 
              user="user-name" 
              password="password"/>  <document>    <entity name="outer" 
            query="select id,name,desc from mytable">       <field column="id" name="solr_id"/>       <field column="name" name="solr_name"/>       <field column="desc" name="solr_desc"/>       <entity name="inner"               query="select details from another_table where id ='${outer.id}'">              <field column="details" name="solr_details"/> 
       </entity>    </entity>  </document></dataConfig>

 

Step 2: The schema.xml should have the solr_details field

 

4、配置各字段和中文分词器;在F:\SolrHome\multicore\core1\conf\schema.xml

<schema version="1.1" name="example core one">

<fieldtype name="string" omitNorms="true" sortMissingLast="true" class="solr.StrField"/>

<fieldType name="int" omitNorms="true" class="solr.TrieIntField" positionIncrementGap="0" precisionStep="0"/>

<fieldType name="long" class="solr.TrieLongField" positionIncrementGap="0" precisionStep="0"/>

<fieldType name="text" class="solr.TextField">

<analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>

</fieldType>

<!-- general -->

<field name="aid" required="true" stored="true" indexed="true" type="int"/>

<field name="title" stored="true" indexed="true" type="text"/>

<field name="author" stored="true" indexed="true" type="string"/>

<field name="_version_" stored="true" indexed="true" type="long"/>

<!-- field to use to determine and enforce document uniqueness. -->

<uniqueKey>aid</uniqueKey>

<!-- field for the QueryParser to use when an explicit fieldname is absent -->

<defaultSearchField>title</defaultSearchField>

<!-- SolrQueryParser configuration: defaultOperator="AND|OR" -->

<solrQueryParser defaultOperator="OR"/>

</schema>

5、启动tomcat ,http://localhost:8983/solr/#/core1/dataimport//dataimport ,选择entity article  ,然后execute;结果如截图;



 

 

  • 大小: 94.9 KB
1
4
分享到:
评论

相关推荐

    solr-import-export-json最新代码

    solr-import-export-json最新代码solr-import-export-json最新代码solr-import-export-json最新代码solr-import-export-json最新代码solr-import-export-json最新代码solr-import-export-json最新代码solr-import-...

    solr-data-import-scheduler-1.1.2

    solr-data-import-scheduler-1.1.2,用于solr定时更新索引的jar包,下载后引入到solr本身的dist下面,或者你tomcat项目下面的lib下面

    solr-data-import-scheduler

    solr 增量更新所需要的包 solr-dataimporthandler-6.5.1 + solr-dataimporthandler-extras-6.5.1 + solr-data-import-scheduler-1.1.2

    solr-mongo-importer-1.1.0.jar

    solr-mongo-importer-1.1.0.jar solr-mongo-importer-1.1.0.jar solr-mongo-importer-1.1.0.jar

    solr-dataimport-scheduler.jar 可使用于solr7.x版本

    总的来说,solr-dataimport-scheduler.jar是Solr 7.x版本中实现定时数据导入和索引更新的关键工具,它极大地提升了Solr在实时和大数据环境下的性能和可靠性。通过合理配置和使用,可以确保你的Solr实例始终拥有最新...

    支持solr6.1-solr-dataimport-scheduler-1.2.jar

    在 Solr 的生态系统中,`solr-dataimport-scheduler-1.2.jar` 是一个非常重要的组件,它允许用户定时执行数据导入任务,这对于需要定期更新索引的应用场景尤其有用。这个特定的版本 `1.2` 已经被优化以兼容 `Solr ...

    apache-solr-dataimportscheduler-1.0.zip_official54l_solr 5.x定时生成

    这通常涉及到`&lt;requestHandler&gt;`和`&lt;lst name="dataimport"&gt;`标签的设置。 3. **配置DataImportHandler**:在对应的Solr核心的`schema.xml`或`managed-schema`文件中,配置DataImportHandler,包括数据源、查询语句...

    solr-dataimport-scheduler

    Solr 数据导入调度器(solr-dataimport-scheduler)是一个实用工具,用于自动化Apache Solr中的数据导入过程,尤其适用于需要定期从关系型数据库同步数据的场景。Solr 是一个流行的开源全文搜索引擎,它提供了强大的...

    solr(solr-9.0.0-src.tgz)源码

    这里我们将围绕"solr-9.0.0-src.tgz"这个源码包,详细探讨其主要组成部分、核心功能以及开发过程中的关键知识点。 1. **Solr架构** Solr的架构基于Lucene,一个强大的全文搜索引擎库。它提供了分布式、可扩展、高...

    solr-dataimport-scheduler.jar

    经过测试可以适用solr7.4版本。如果低版本solr(6.*) 可以直接适用网上的solr-dataimport-scheduler 1.1 或者1.0版本。

    apache-solr-dataimporthandler-extras-1.4.0.jar.zip

    在给定的压缩包“apache-solr-dataimporthandler-extras-1.4.0.jar.zip”中,主要包含了一个名为“apache-solr-dataimporthandler-extras-1.4.0.jar”的文件,这个文件是Solr的一个重要组件——DataImportHandler...

    solr-dataimporthandler-8.11.2.jar

    solr 检索用包

    solr6--solr-dataimporthandler-scheduler-1.1

    在"solr6--solr-dataimporthandler-scheduler-1.1"这个项目中,我们关注的重点是DIH的调度功能,也就是如何定期自动更新Solr索引。 DataImportHandler(DIH)是Solr的一个插件,用于从关系型数据库或其他结构化数据...

    Apache Solr(solr-8.11.1-src.tgz)

    标题中的"solr-8.11.1-src.tgz"表明这是Apache Solr 8.11.1版本的源代码包,适用于那些希望对Solr进行深度定制或开发的用户。 源代码发布通常包含了编译和构建Solr所需的所有文件,包括Java源代码、配置文件、测试...

    solr-mongo-importer-1.1

    总之,"solr-mongo-importer-1.1"提供了从MongoDB到Solr的有效数据迁移方案,极大地拓宽了Solr的应用场景,特别是在处理非结构化和半结构化数据时,能够提供灵活且高效的搜索体验。通过熟练掌握这个工具,开发人员...

    solr-dataimportscheduler-1.1.1.jar

    Solr-dataimportscheduler会根据这个字段比较数据库中的最新数据和索引中的数据,找出需要更新的部分。 此外,调度器的配置也很重要,我们需要设置定时任务来定期执行增量导入。这可以通过修改Solr的`solrconfig....

    支持solr高版本定时增量任务fix版本solr-dataimport-scheduler-fix

    这是我自己反编译fix后,支持solr7.4高版本的定时增量任务(亲测solr7.4),下载下来开箱即用。低版本的没试过,估计低版本的solr配合之前apache-solr-dataimportscheduler-1.0.jar这些能行,不行就试试我这个。

    solr-4.9.0-安装部署文档

    - 配置 Solr 的 Data Import Handler(DIH)以连接 MySQL 数据库,这涉及到修改 Solr 的配置文件,如 managed-schema 或 schema.xml,以及在 Solr 的 DataConfig.xml 中定义数据源和查询语句。 完成以上步骤后,你...

    solr-dataimport-scheduler.jar定时同步

    使用solr做数据库定时同步更新数据和索引时用到该jar,经过本人测试通过,放心使用. 支持solr5.x,solr6.x

Global site tag (gtag.js) - Google Analytics