本帖最后由 我是楠楠 于 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口出
|