solr--5.后台管理索引库

Solr管理索引库

1      维护索引

1.1    添加文档

添加单个文档

 

1.2    修改文档

Id一样,就修改

 

1.3    删除文档

1.3.1  删除制定ID的索引

删除制定ID的索引

<delete>
	<id>1</id>
</delete>
<commit/>


1.3.2  删除查询到的索引数据

删除查询到的索引数据

<delete>
     <query>id:change.me</query>
</delete>
<commit  />

 

1.3.3  删除所有索引数据

删除所有索引数据

 <delete>
	<query>*:*</query>
</delete>
<commit />

1.4    批量导入数据

1.4.1  第一步:加入jar包

使用dataimport插件批量导入数据。

第一步:把dataimport插件依赖的jar包添加到solrcore(collection1\lib)中

还需要mysql的数据库驱动。

1.4.2  第二步:配置solrconfig.xml文件

第二步:配置solrconfig.xml文件,添加一个requestHandler。

 <requestHandler name="/dataimport"

class="org.apache.solr.handler.dataimport.DataImportHandler">

    <lst name="defaults">

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

     </lst>

  </requestHandler> 

 

1.4.3  第三步:创建一个data-config.xml

第三步:创建一个data-config.xml,保存到collection1\conf\目录下

<?xml version="1.0" encoding="UTF-8" ?> 

<dataConfig>  

<dataSource type="JdbcDataSource"  

                     driver="com.mysql.jdbc.Driver"  

                     url="jdbc:mysql://localhost:3306/lucene"  

                     user="root"  

                     password="root"/>  

<document>  

         <entity name="product" query="SELECT pid,name,catalog_name,price,description,picture FROM products ">

                    <field column="pid" name="id"/>

                    <field column="name" name="product_name"/>

                    <field column="catalog_name" name="product_catalog_name"/>

                    <field column="price" name="product_price"/>

                    <field column="description" name="product_description"/>

                    <field column="picture" name="product_picture"/>

         </entity>  

</document>  

 

</dataConfig>

 

1.4.4  第四步:设置业务系统Field

在schema.xml中设置,如果不使用Solr提供的Field可以针对具体的业务需要自定义一套Field,如下是商品信息Field:

<!--product-->
   <fieldname="product_name" type="text_ik" indexed="true"stored="true"/>
   <fieldname="product_price" type="float" indexed="true"stored="true"/>
   <fieldname="product_description" type="text_ik"indexed="true" stored="false" />
   <fieldname="product_picture" type="string"indexed="false" stored="true" />
   <field name="product_catalog_name"type="string" indexed="true" stored="true" />
 
   <fieldname="product_keywords" type="text_ik"indexed="true" stored="false"multiValued="true"/>

   <copyFieldsource="product_name" dest="product_keywords"/>
   <copyFieldsource="product_description" dest="product_keywords"/>

1.4.5  第五步:重启tomcat,点击“execute”

 第五步:重启tomcat,点击“execute”按钮导入数据

 

到入数据前会先清空索引库,然后再导入。 

2      查询索引

通过/select搜索索引,Solr制定一些参数完成不同需求的搜索:

2.1    查询q

1.        q - 查询字符串,必须的,如果查询所有使用*:*。

 

2.2    过虑查询fq

fq - (filter query)过虑查询,作用:在q查询符合结果中同时是fq查询符合的,例如::

过滤查询价格从1到20的记录。

也可以在“q”查询条件中使用product_price:[1TO 20],如下:

也可以使用“*”表示无限,例如:

20以上:product_price:[20 TO *]

20以下:product_price:[* TO 20]

 

2.3    排序sort

3.        sort - 排序,格式:sort=<fieldname>+<desc|asc>[,<field name>+<desc|asc>]… 。示例:

按价格降序

2.4    开始start和行号rows

4.        start - 分页显示使用,开始记录下标,从0开始

5.        rows - 指定返回结果最多有多少条记录,配合start来实现分页。

显示前10条。 

2.5    指定查询显示列fl

6.        fl - 指定返回那些字段内容,用逗号或空格分隔多个。

显示商品图片、商品名称、商品价格

 

2.6    指定搜索Field:df

7.        df-指定一个搜索Field

也可以在SolrCore目录 中conf/solrconfig.xml文件中指定默认搜索Field,指定后就可以直接在“q”查询条件中输入关键字。

 

2.7    指定输出格式wt

8.        wt - (writer type)指定输出格式,可以有 xml, json, php, phps, 后面 solr 1.3增加的,要用通知我们,因为默认没有打开。

 

2.8    是否高亮hl

9.        hl 是否高亮 ,设置高亮Field,设置格式前缀和后缀。

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
    本课程全程使用目前比较流行的开发工具idea进行开发,涉及到目前互联网项目中最常用的高并发解决方案技术, 如dubbo,redis,solr,freemarker,activeMQ,springBoot框架,微信支付,nginx负载均衡,电商活动秒杀,springSecurity安全框架,FastDFS分布式文件服务器,还会涉及到代码生成器,   前台的技术有angularJS和BootStrap框架,此课程内容丰富实战性强,如果你还是传统项目的开发人员,那你学完本课程会有很大的收获,让你的薪资上涨,5K以上,让你完全感受到了互联网思维带来的高 并发解决方案的思路,如果你是开发的小白,建议你学完Spring,SpringMVC,MyBatis框架后再来学习本门课程,学完以后会让你完全体验到企业级开发的流程.在职开发人员学完后会让你的薪资更高,让你更了解互联网是如何解决高并发 学完SSM框架的同学就可以学习,能让你切身感受到企业级开发环境目标1:完成solr环境安装、中文分析器和业务域的配置目标2:会使用Spring Data Solr完成增删改查操作目标3:完成批量数据导入功能目标4:完成按关键字搜索功能目标5:实现考拉易购搜索结果高亮显示功能目标6:说出考拉易购搜索的业务规则和实现思路目标7:完成查询分类列表的功能目标8:完成缓存品牌和规格数据的功能目标9:完成显示品牌和规格数据的功能目标10:完成过滤条件构建的功能目标11:完成过滤查询的功能目标11:实现考拉易购价格区间筛选功能目标12:实现搜索结果分页功能目标13:理解多关键字搜索目标14:实现搜索结果排序功能目标15:实现隐藏品牌列表功能目标16:实现搜索页与首页对接功能目标17:完成更新索引的功能

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值