`

solr 通过 数据库导入 建立索引

阅读更多

今天写错一个单词,忙会了,一下午,因为本人也是刚接触,所以对一对多,多对多,等关系建立solr索引也比较陌生,不知道哪儿错了,最后发现是单词写错了,真是郁闷啊。

data-config.xml代码如下:

<dataConfig> 
  <dataSource type="JdbcDataSource"   
              driver="com.mysql.jdbc.Driver" 
             url="jdbc:mysql://localhost:3306/cms?characterEncoding=gbk"   
              user="root"   
              password="lijian"/> 
  <document name="products"> 
    <entity  name="item"
        query="select * from lsoba_product where pro_prop_system_status='A' limit 0,1000"> 
    <field column="pro_id" name="pro_id"/>
    <field column="pro_name" name="pro_name"/>
    <field column="pro_site_price" name="pro_site_price"/>
    <field column="pro_desc" name="pro_desc"/>
    <field column="pro_address" name="pro_address"/>
    <field column="pro_pic_url" name="pro_pic_url"/>
    <field column="pro_src_url" name="pro_src_url"/>
    <field column="pro_brand_id" name="pro_brand_id" />
    <field column="pro_mall_id" name="pro_mall_id" />

//这个单词写错了,写成了entiey 呵呵,浪费了老多时间。
    <entity name="itemcat" query="select itemCat_cid,itemCat_name from lsoba_itemcat where itemCat_cid='${item.pro_id}'">
      <field column="itemCat_cid" name="pro_cid"/>
      <field column="itemCat_name" name="pro_cat_name"/>
    </entity>
    <entity query="select mall_name from lsoba_mall where mall_id='${item.pro_mall_id}'">
      <field column="mall_name" name="pro_mall_name"/>
    </entity>
    <entity query="select BRAND_NAME from lsoba_brand where BRAND_ID='${item.pro_brand_id}'">
      <field column="BRAND_NAME" name="pro_brand_name"/>
    </entity>
  </entity> 
  </document> 
</dataConfig>

 

 

schema.xml 部分配置如下:

<fields>
   <!-- add product infomation -->
 <field name="pro_id" type="text" indexed="true" stored="true" required="false"/>
 <field name="pro_name" type="text" indexed="true" stored="true"/>
 <field name="pro_site_price" type="float" indexed="true" stored="true"/>
 <field name="pro_desc" type="text" indexed="true" stored="true"/>
 <field name="pro_address" type="text" indexed="true" stored="true"/>
 <field name="pro_pic_url" type="text" indexed="true" stored="true"/>
 <field name="pro_src_url" type="text" indexed="true" stored="true"/>

 <!-- add categoryName -->
  <field name="pro_cid" type="text" indexed="true" stored="true" multiValued="true"/>
 <field name="pro_cat_name" type="text" indexed="true" stored="true"/>
 
 <!-- add brand -->
 <field name="pro_brand_id" type="text" indexed="true" stored="true"/>
 <field name="pro_brand_name" type="text" indexed="true" stored="true" multiValued="true"/>
 
 <!-- add mall -->
 <field name="pro_mall_id" type="text" indexed="true" stored="true"/>
 <field name="pro_mall_name" type="text" indexed="true" stored="true" multiValued="true"/>
  
 </fields>

 <!-- Field to use to determine and enforce document uniqueness.
      Unless this field is marked with required="false", it will be a required field
   -->
 <uniqueKey>pro_id</uniqueKey>

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

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

 

 

查询结果就ok了,

http://localhost:8080/solr/select/?q=*%3A*&version=2.2&start=0&rows=10&indent=on

 

  <?xml version="1.0" encoding="UTF-8" ?>
- <response>
- <lst name="responseHeader">
  <int name="status">0</int>
  <int name="QTime">41</int>
- <lst name="params">
  <str name="indent">on</str>
  <str name="start">0</str>
  <str name="q">*:*</str>
  <str name="rows">10</str>
  <str name="version">2.2</str>
  </lst>
  </lst>
- <result name="response" numFound="1000" start="0">
- <doc>
  <str name="pro_address">日本</str>
  <str name="pro_brand_id">201049182911492922809004</str>
- <arr name="pro_brand_name">
  <str>兰蔻</str>
  </arr>
  <str name="pro_cat_name">彩装</str>
- <arr name="pro_cid">
  <str>201004260102</str>
  </arr>
  <str name="pro_desc"><div class="pro_intro"> <div class="title">商品详细说明:</div> <p style="word-break:break-all;">* 重整肌肤的柔软度。一下子就可以渗透进皮肤,没有粘糊的感觉。用后肌肤清新怡然。<BR>* 细细的泡沫能深入除去毛孔污垢,含有彻底清洁毛孔成分,且美白效果甚佳,能使肌肤具有透明美白感。清洁的同时更能祛除游离在皮肤表面的麦拉宁分泌物,丰富维他命E成分,保证肌肤润泽不干燥,有效抗衰老,防止幼纹的生成;<BR>* 使用方法:取适量于手心加水轻轻打起泡沫,用于清洁面部,洁毕用清水洗净即可。</p> </div></str>
  <str name="pro_id">201049182911492922809004</str>
  <str name="pro_mall_id">no5</str>
- <arr name="pro_mall_name">
  <str>No5</str>
  </arr>
  <str name="pro_name">The body shop 美体小铺蔓越莓身体滋养霜-09圣诞限量版(67829)</str>
  <str name="pro_pic_url">http://www.no5.com.cn/photo.html?size=b&photo=20100419145547448544122.jpg</str>
  <float name="pro_site_price">205.0</float>
  <str name="pro_src_url">http://www.no5.com.cn/goods/13598.html</str>
  </doc>
- <doc>
  <str name="pro_address">中国</str>
  <str name="pro_brand_id">201049183211493231502300</str>
- <arr name="pro_brand_name">
  <str>兰蔻</str>
  </arr>
  <str name="pro_cat_name">个人护理</str>
- <arr name="pro_cid">
  <str>201004260103</str>
  </arr>
  <str name="pro_desc"><div class="pro_intro"> <div class="title">商品详细说明:</div> <p style="word-break:break-all;">乳状的化妆水能?底清洁却不刺激脆弱敏感的肌肤。同时能给予肌肤滋润,帮助后续保养品的吸收。<BR>适干性及脆弱敏感性肌肤使用。</p> </div></str>
  <str name="pro_id">201049183211493231502300</str>
  <str name="pro_mall_id">no5</str>
- <arr name="pro_mall_name">
  <str>No5</str>
  </arr>
  <str name="pro_name">HR 赫莲娜光采重现铜光粉饼(01#21222) 本周特价!</str>
  <str name="pro_pic_url">http://www.no5.com.cn/photo.html?size=b&photo=2007122611113640349034.jpg</str>
  <float name="pro_site_price">205.0</float>
  <str name="pro_src_url">http://www.no5.com.cn/goods/11591.html</str>
  </doc>
- <doc>
  <str name="pro_address">法国</str>
  <str name="pro_brand_id">201049183311493311295211</str>
- <arr name="pro_brand_name">
  <str>兰蔻</str>
  </arr>
  <str name="pro_cat_name">彩装</str>
- <arr name="pro_cid">
  <str>201004260102</str>
  </arr>
  <str name="pro_desc"><div class="pro_intro"> <div class="title">商品详细说明:</div> <p style="word-break:break-all;">乳状的化妆水能?底清洁却不刺激脆弱敏感的肌肤。同时能给予肌肤滋润,帮助后续保养品的吸收。<BR>适干性及脆弱敏感性肌肤使用。</p> </div></str>
  <str name="pro_id">201049183311493311295211</str>
  <str name="pro_mall_id">no5</str>
- <arr name="pro_mall_name">
  <str>No5</str>
  </arr>
  <str name="pro_name">HR 赫莲娜光采重现铜光粉饼(01#21222) 本周特价!</str>
  <str name="pro_pic_url">http://www.no5.com.cn/photo.html?size=b&photo=200812041543031000793288.jpg</str>
  <float name="pro_site_price">175.0</float>
  <str name="pro_src_url">http://www.no5.com.cn/goods/1604.html</str>
  </doc>
- <doc>
  <str name="pro_address">美国</str>
  <str name="pro_brand_id">201049183511493593780939</str>
- <arr name="pro_brand_name">
  <str>美体小铺</str>
  </arr>
  <str name="pro_cat_name">彩装</str>
- <arr name="pro_cid">
  <str>201004260102</str>
  </arr>
  <str name="pro_desc"><div class="pro_intro"> <div class="title">商品详细说明:</div> <p style="word-break:break-all;">兰蔻清新恒丽遮瑕笔含丰富保湿植物复合物,抗氧化及轻盈因子,遮盖瑕疵,黑眼圈及皱纹,同时保护肌肤免受环境侵害。细致顺滑乳液,遮盖瑕疵,使妆容丰满自然,经皮肤科专家测试。<BR>01# Clair dore </p> </div></str>
  <str name="pro_id">201049183511493593780939</str>
  <str name="pro_mall_id">no5</str>
- <arr name="pro_mall_name">
  <str>No5</str>
 
0
0
分享到:
评论

相关推荐

    跟益达学Solr5之从MySQL数据库导入数据并索引

    《跟益达学Solr5之从MySQL数据库导入数据并索引》这篇文章主要探讨了如何使用Apache Solr 5从MySQL数据库中导入数据并建立索引,以便进行高效的全文搜索。Solr是一款强大的开源搜索服务器,它提供了丰富的查询语言、...

    跟益达学Solr5之增量索引MySQL数据库表数据

    在传统的全量索引中,Solr会一次性将所有数据库数据导入索引。然而,随着数据的不断增长,全量索引不仅耗时,而且可能对系统造成较大压力。增量索引则只对新插入、更新或删除的数据进行索引,显著提高了效率和性能。...

    Solr数据库连接[SQL,Oracle]

    在Solr中,有时我们需要与传统的关系型数据库如SQL Server或Oracle进行交互,以获取数据或者同步数据库中的信息到Solr索引中。本文将详细介绍如何在Solr中建立与SQL Server和Oracle的连接,并解决可能出现的连接问题...

    solr4.7从数据库导数据[归类].pdf

    Solr 4.7 是一个流行的全文搜索引擎,它允许用户通过数据导入处理器(DataImportHandler, DIH)从关系型数据库如 SQL Server 导入数据并建立索引,以实现快速搜索。在这个教程中,我们将深入理解如何在 Solr 4.7 中...

    基于solr的网站索引架构(一)

    要对网站数据建立索引,首先需要将数据导入Solr。这通常通过Solr的DataImportHandler完成,它可以连接到数据库,抽取数据并转化为Solr可理解的格式。索引过程包括解析、分析和存储,其中分析阶段会应用分词器和过滤...

    solr-8.2.0.rar

    这将读取`data-config.xml`中的配置,从MySQL中抽取数据并建立索引。 六、测试Solr查询 数据导入完成后,你可以使用Solr的查询接口进行测试。在Solr的Web界面或者通过HTTP请求,输入查询条件,观察返回的结果。例如...

    Solr全文检索.pdf

    8. ElasticSearch 和 Solr 的区别:ElasticSearch 和 Solr 都是基于 Lucene 实现的,全文检索引擎,但是 Solr 在实时建立索引的时候会产生 IO 阻塞查询性能会比 ElasticSearch 差一些,ElasticSearch 支持分布式,...

    使用lucenesolr搭建Oracle数据库全文搜索服务.docx

    为了实现从Oracle数据库导入数据至Solr进行全文搜索,需要完成以下步骤: 1. **配置数据源**: - 打开`db/conf/db-data-config.xml`,配置Oracle数据库的连接信息,例如: ```xml url="jdbc:oracle:thin:@...

    solr京东案例包括项目资料和数据库

    2. **索引构建**:京东案例可能会展示如何将大量的商品数据、用户评价、订单信息等导入到Solr中,建立索引的过程。这涉及数据源的连接、数据转换(如JSON、XML格式)以及使用Solr的DataImportHandler(DIH)或其他...

    solr课件还有安装原件

    在使用Solr时,通常需要一个后端数据库来存储原始数据,Solr通过数据导入工具(Data Import Handler, DIH)从这些数据库中提取数据并建立索引。这个SQL脚本可能用于初始化一个电子商务平台的商品数据库,这些商品...

    全文搜索技术solr Demo

    "代码.rar"可能包含了一个示例数据导入工具,通常Solr使用DataImportHandler(DIH)从外部数据库导入数据并建立索引。配置好数据源和映射后,运行`bin/post -c myCollection /path/to/data`命令即可导入数据。 六、...

    solr实现的搜索引擎

    数据导入到Solr通常有两种方式:使用Solr DataImportHandler (DIH)从关系数据库导入,或使用SolrJ Java客户端API直接推送JSON、XML等格式的数据。在`webapp`目录下的示例可能展示了如何配置DIH来连接数据库并建立...

    Solr3.6用DIH组件进行MySQL数据库全文索引[参照].pdf

    在Solr中,DataImportHandler(DIH)组件是一个强大的工具,用于从各种外部数据源,如关系型数据库(如MySQL)中导入数据并建立全文索引。在本例中,我们将探讨如何使用Solr 3.6版本的DIH组件来对MySQL数据库中的...

    使用MySQL作为SOLR的索引源

    在SOLR中,这通常通过DataImportHandler (DIH) 实现,这是一个内建的数据导入工具,允许从外部数据源如MySQL获取数据并建立索引。配置过程包括以下几个步骤: 1. **配置SOLR核心**:在SOLR的`solrconfig.xml`配置...

    solr入门教程

    一旦配置完成,Solr会根据`data-config.xml`和`delta-data-config.xml`的设置,自动从数据库中抓取数据并建立索引。这样,当数据库中的数据发生变化时,Solr可以通过增量索引实时或定期更新索引,保持与数据库的一致...

    solr demo

    通常,你需要对这些文本数据进行处理,将其导入到Solr中建立索引。 2. **solr服务器配置**:这包括Solr的配置文件如`solrconfig.xml`和`schema.xml`。`solrconfig.xml`定义了Solr服务器的行为,如更新处理链、查询...

    solr开发指南.pdf

    - **建立索引**: Solr能够自动为接收到的数据建立索引,以便于后续的快速检索。 - **数据检索**: Solr支持全文搜索、高亮显示、精确匹配等多种检索方式,能够满足复杂多变的搜索需求。 #### 三、Solr的依赖环境 ...

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

    `Solr DataImportHandler`(DIH)是 Solr 内置的一个功能,用于从关系型数据库或其他数据源导入数据,并建立索引。DIH 提供了全量和增量数据导入的功能,使得 Solr 能够保持与源数据的同步。`solr-dataimport-...

    Solr技术分析及运用

    - DIH允许Solr从关系型数据库或其他数据源导入数据,建立索引。 - 在`solrconfig.xml`中配置数据源、查询语句和映射规则,以便Solr能读取和索引数据库中的数据。 通过上述步骤,可以建立一个基本的Solr环境,并...

Global site tag (gtag.js) - Google Analytics