A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 我是楠楠 黑马粉丝团   /  2018-5-17 15:21  /  768 人查看  /  0 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 我是楠楠 于 2018-5-17 15:24 编辑

【郑州校区】Lucene&Solr(3)上

1. 课程计划
solr在项目中的应用及电商搜索实现
1、使用Solr的后台管理索引库
a) 添加文档
b) 删除文档
c) 修改文档
d) 查询文档
2、使用SolrJ管理索引库
a) 添加文档
b) 修改文档
c) 删除文档
d) 查询文档
3、电商搜索案例实现
a) 案例分析
b) 案例实现
2. Solr管理索引库
2.1. 维护索引
2.1.1. 添加/更新文档添加单个文档
批量导入数据
使用dataimport插件批量导入数据。
第一步:把dataimport插件依赖的jar包添加到solrcore(collection1\lib)中
还需要mysql的数据库驱动。
第二步:配置solrconfig.mxl文件,添加一个requestHandler。
[AppleScript] 纯文本查看 复制代码
 <requestHandler name="/dataimport"
class="org.apache.solr.handler.dataimport.DataImportHandler">
    <lst name="defaults">
      <str name="config">data-config.xml</str>
     </lst>
  </requestHandler> 
第三步:创建一个data-config.xml,保存到collection1\conf\目录下
[AppleScript] 纯文本查看 复制代码
<?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>
第四步:重启tomcat
第五步:点击“execute”按钮导入数据
到入数据前会先清空索引库,然后再导入。
2.1.2. 删除文档
删除索引格式如下:
1) 删除制定ID的索引
<delete>
        <id>8</id>
</delete>
2) 删除查询到的索引数据
<delete>
        <query>product_catalog_name:幽默杂货</query>
</delete>
3) 删除所有索引数据
<delete>
        <query>*:*</query>
</delete>
2.2. 查询索引
通过/select搜索索引,Solr制定一些参数完成不同需求的搜索:
1. q - 查询字符串,必须的,如果查询所有使用*:*。
2. fq - (filter query)过虑查询,作用:在q查询符合结果中同时是fq查询符合的,例如::
过滤查询价格从1到20的记录。
也可以在“q”查询条件中使用product_price:[1 TO 20],如下:
也可以使用“*”表示无限,例如:
20以上:product_price:[20 TO *]
20以下:product_price:[* TO 20]
3. sort - 排序,格式:sort=<field name>+<desc|asc>[,<field name>+<desc|asc>]… 。示例:
按价格降序
4. start - 分页显示使用,开始记录下标,从0开始
5. rows - 指定返回结果最多有多少条记录,配合start来实现分页。
显示前10条。
6. fl - 指定返回那些字段内容,用逗号或空格分隔多个。
显示商品图片、商品名称、商品价格
7. df-指定一个搜索Field
也可以在SolrCore目录 中conf/solrconfig.xml文件中指定默认搜索Field,指定后就可以直接在“q”查询条件中输入关键字。
8. wt - (writer type)指定输出格式,可以有 xml, json, php, phps, 后面 solr 1.3增加的,要用通知我们,因为默认没有打开。
9. hl 是否高亮 ,设置高亮Field,设置格式前缀和后缀。
更多
传智播客·黑马程序员郑州校区地址
河南省郑州市 高新区长椿路11号大学科技园(西区)东门8号楼三层
联系电话 0371-56061160/61/62
来校路线  地铁一号线梧桐街站A口出

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马