当前位置首页 > Apache知识

ApacheSolr学习第三篇core的创建

阅读次数:371 次  来源:admin  发布时间:

一、配置修改

虽然solr启动,但是并没有core,我们并不能进行数据操作,core类似于关系数据库中的表,创建core之前, 通常我们对solr的使用都是,都是将关系型数据库的内容导入到solr中进行搜索服务

首先我们在本地的MySQL数据库中建立一个solr数据库,并且在数据库下建表goods。

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for goods
-- ----------------------------
DROP TABLE IF EXISTS `goods`;
CREATE TABLE `goods`  (
  `id` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `goodsname` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `price` float(10, 2) NULL DEFAULT NULL,
  `description` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of goods
-- ----------------------------
INSERT INTO `goods` VALUES ('1', '三星手机', 3000.00, '会爆炸吧');
INSERT INTO `goods` VALUES ('2', '苹果手机', 6999.00, '装X神器');
INSERT INTO `goods` VALUES ('3', '小米手机', 1400.00, '国民手机');

SET FOREIGN_KEY_CHECKS = 1;

以下配置以jetty启动方式为例,基本和tomcat启动方式一样。

1. jar包

将之前准备的mysql驱动包,中文分词器jar包,solr-6.6.6\dist目录下的solr-dataimporthandler-6.6.6.jar,solr-dataimporthandler-extras-6.6.6.jar包拷贝到F:\solr\solr-6.6.6\server\solr-webapp\webapp\WEB-INF\lib下

2. 配置

在solr-6.6.6\server\solr文件夹下创建file_core文件夹,将solr-6.6.6\server\solr\configsets\sample_techproducts_configs瞎咋conf文件夹全部复制到file_core下。

进入到solr-6.6.6\server\solr\file_core\conf下,创建data-config.xml,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<dataConfig>
    <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://127.0.0.1/solr"
    user="root" password="www1928..com" batchSize="-1"/>
    <document name="goods">
        <entity name="goods" pk="id" query="select id, goodsname, price, description from goods">
            <field column="id" name="id" />
            <field column="goodsname" name="goodsname" />
            <field column="price" name="price" />
            <field column="description" name="description" />
        </entity>
    </document>
</dataConfig>

打开solr-6.6.6\server\solr\file_core\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>

打开solr-6.6.6\server\solr\file_core\conf\managed-schema文件配置域,将data-config.xml文件中配置的字段都做如下配置

   <field name="goodsname" type="text_ik" indexed="true" stored="true"/>
   <field name="price" type="float" indexed="true" stored="true"/>
   <field name="description" type="text_ik" indexed="true" stored="true"/>

找到 <uniqueKey></uniqueKey>位置配置

   <uniqueKey>id</uniqueKey>
   <field name="id" type="long" multiValued="false" indexed="true" required="true" stored="true" /> 

配置中文分词器类型

 <fieldType name="text_ik" class="solr.TextField">
       <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
 </fieldType>

二、数据导入

做好以上配置以后,启动solr,打开后台管理页面

ApacheSolr学习第三篇core的创建

添加goods_core,新建成功以后,选择goods_core,点击dataimport即可导入数据

ApacheSolr学习第三篇core的创建

点击query即可查询数据

上一篇:如何查看IIS并发连接数
下一篇:MacOSX中配置Apache