solr的基本使用

一、下载solr安装包:

http://lucene.apache.org/solr/;

二、在cmd中进入solr安装目录的bin文件夹,启动solr:

  solr start            //启动solr
  solr stop -all      //关闭solr

三、在浏览器中进入solr控制台:localhost:8983/solr:

solr控制台)

四、创建solr实例(类似于数据库db文件)

1、在solr安装目录下的/server/solr下创建hotel3_core文件夹,用于存储solr实例的配置信息;
2、在相同的目录下,创建hotel3_data文件夹,用于存储从数据库中导入的数据相关信息;
在这里插入图片描述
3、将solr的安装目录下的/server/solr/configsets/_default下的conf文件夹复制到hotel3_core文件夹:
在这里插入图片描述
4、导入jar包:
首先,在solr安装目录下的dist文件夹中,找到:
solr-dataimporthandler-7.3.0.jar
solr-dataimporthandler-extras-7.3.0.jar
将其复制到/server/solr-webapp/webapp/WEB-INF/lib文件夹下(还需导入mysql的驱动包)。
其次,将:
ik-analyzer-solr5-5.x.jar和solr-analyzer-ik-5.1.0.jar(中文分词器,网上可以下载)
也复制到上述文件夹下。
5、将分词规则文件(可从网上下载)放到/server/solr-webapp/webapp/WEB-INF/classes文件夹中:
在这里插入图片描述
6、修改/server/solr/hotel3_core/conf中的配置文件:
(1)在solrconfig.xml中添加如下内容:

<requestHandler name="/dataimport3" class="org.apache.solr.handler.dataimport.DataImportHandler">
        <lst name="defaults">
			<str name="config">data-config.xml</str>
         </lst>
  </requestHandler> 

其中,requestHandler的name属性自定义。
(2)在/server/solr/hotel3_core/conf文件夹下建立data-config.xml文件,此文件名与上述配置文件中str标签中的值应相同。
在data-config.xml添加如下内容:

<?xml version="1.0" encoding="UTF-8"?>  
    <dataConfig>   
    <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/db_1804"  user="root" password="123456"/>   
    <document>   
    	<!--设置实例的属性,name自定义,为了不出错,最好与要查询的数据库中的表名一致;
    	query中填写实际查询数据库的sql语句-->
		<entity name="demo_hotel" query="SELECT hotel_id,hotel_name FROM demo_hotel">
		<!--column为数据库的字段名,name必须为"id"-->
		 <field column="hotel_id" name="id"/> 
		 <!--column为数据库的字段名,name可以自定义-->
		 <field column="hotel_name" name="hotelName"/> 
		</entity>   
    </document>   
</dataConfig>

(3)在managed-schema文件中添加如下内容(配置中文分词器):

<!--此处的name为data-config.xml文件中,field标签的name属性的值;
type属性为需要使用的分词类型,自选
注意:主键字段,即id不能进行分词设置,否则会报错!!!;
-->
<field name="hotelName" type="qian_ik" indexed="true" stored="true"/>
<fieldType name="qian_ik" class="solr.TextField">  
	<analyzer type="index" useSmart="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
	<analyzer type="query" useSmart="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>

五、重新启动solr

在cmd控制台中重新启动solr,并在浏览器中访问solr控制台。

六、添加实例

1、在solr控制台中,点击core admin中的add core,即添加实例:
(1)name自定义,但是为了不出错,最好与之前建立的hotel3_core文件夹名称相同;
(2)instanceDir填写hotel3_core文件夹的绝对路径;
(3)dataDir填写hotel3_data文件夹的绝对路径;
(4)其余属性不用修改,点击add按钮添加实例。
在这里插入图片描述

七、导入数据

实例添加完成后,加载完毕后点击如图中的按钮,从数据库中导入数据,其中:
1、full-import全量导入(每次将数据库中所有数据重新导入);
2、delta-import为增量导入(每次只从数据库中导入新增的数据);
3、在entity中选择要导入的表;
4、注意:千万不要输入start,rows的值,不要点这两个输入框,否则会报错报错报错!!!!!!(折腾了半天才弄明白为什么老报这两个错)。
在这里插入图片描述
在这里插入图片描述
5、属性设置完成后,点击execute按钮,观察界面右上方的执行,若如下图中所示,fetched属性值不为0,则表示数据导入成功。
在这里插入图片描述

八、查询数据

点击下图中的query按钮,即可进行分词查询:
1、q属性中,填写查询的条件:
(1)第一个星号填写data-config.xml文件中field标签对应的name的值;
(2)第二个星号填写要搜索的关键字、词,如:hotelName:香*。大功告成啦!!!!!
在这里插入图片描述
总结:
1.配置文件中,主意一定不要有中文字符、隐藏的特殊字符等,连空格都要仔细检查!!!
2.分词检索时,solr是对导入的数据进行分词,不是对输入的搜索条件分词!!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
1 概述 4 1.1 企业搜索引擎方案选型 4 1.2 Solr的特性 4 1.2.1 Solr使用Lucene并且进行了扩展 4 1.2.2 Schema(模式) 5 1.2.3 查询 5 1.2.4 核心 5 1.2.5 缓存 5 1.2.6 复制 6 1.2.7 管理接口 6 1.3 Solr服务原理 6 1.3.1 索引 6 1.3.2 搜索 7 1.4 源码结构 8 1.4.1 目录结构说明 8 1.4.2 Solr home说明 9 1.4.3 solr的各包的说明 10 1.5 版本说明 11 1.5.1 1.3版本 11 1.5.2 1.4版本 12 1.6 分布式和复制 Solr 架构 13 2 Solr的安装与配置 13 2.1 在Tomcat下Solr安装 13 2.1.1 安装准备 13 2.1.2 安装过程 14 2.1.3 验证安装 15 2.2 中文分词配置 15 2.2.1 mmseg4j 15 2.2.2 paoding 19 2.3 多核(MultiCore)配置 22 2.3.1 MultiCore的配置方法 22 2.3.2 为何使用多core ? 23 2.4 配置文件说明 23 2.4.1 schema.xml 24 2.4.2 solrconfig.xml 25 3 Solr的应用 29 3.1 SOLR应用概述 29 3.1.1 Solr的应用模式 29 3.1.2 SOLR使用过程说明 30 3.2 一个简单的例子 30 3.2.1 Solr Schema 设计 30 3.2.2 构建索引 30 3.2.3 搜索测试 31 3.3 搜索引擎的规划设计 32 3.3.1 定义业务模型 32 3.3.2 定制索引服务 34 3.3.3 定制搜索服务 34 3.4 搜索引擎配置 34 3.4.1 Solr Schema 设计(如何定制索引的结构?) 34 3.5 如何进行索引操作? 36 3.5.1 基本索引操作 36 3.5.2 批量索引操作 37 3.6 如何进行搜索 39 3.6.1 搜索语法 39 3.6.2 排序 42 3.6.3 字段增加权重 42 3.6.4 Solr分词器、过滤器、分析器 42 3.6.5 Solr高亮使用 46 4 SolrJ的用法 46 4.1 搜索接口的调用实例 46 4.2 Solrj的使用说明 47 4.2.1 Adding Data to Solr 47 4.2.2 Directly adding POJOs to Solr 49 4.2.3 Reading Data from Solr 51 4.3 创建查询 51 4.4 使用 SolrJ 创建索引 52 4.5 Solrj包的结构说明 53 4.5.1 CommonsHttpSolrServer 53 4.5.2 Setting XMLResponseParser 53 4.5.3 Changing other Connection Settings 53 4.5.4 EmbeddedSolrServer 54 5 Solr的实际应用测试报告 54 5.1 线下压力测试报告 54 5.2 线上环境运行报告 54 6 solr性能调优 55 6.1 Schema Design Considerations 55 6.1.1 indexed fields 55 6.1.2 stored fields 55 6.2 Configuration Considerations 55 6.2.1 mergeFactor 55 6.2.2 mergeFactor Tradeoffs 56 6.3 Cache autoWarm Count Considerations 56 6.4 Cache hit rate(缓存命中率) 56 6.5 Explicit Warming of Sort Fields 56 6.6 Optimization Considerations 56 6.7 Updates and Commit Frequency Tradeoffs 56 6.8 Query Response Compression 57 6.9 Embedded vs HTTP Post 57 6.10 RAM Usage Considerations(内存方面的考虑) 57 6.10.1 OutOfMemoryErrors 57 6.10.2 Memory allocated to the Java VM 57 7 FAQ 58 7.1 出现乱码或者查不到结果的排查方法: 58

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值