a)          维护索引

 1.  添加/更新文档

添加或更新单个文档

2.   批量导入数据(导入mysql的)

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

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

    还需要mysql的数据库驱动。

第二步:配置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> 

第三步:创建一个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>

第四步:如果不使用Solr提供的Field可以针对具体的业务需要自定义一套Field,如下是商品信息Field:

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

第五步:重启tomcat

第六步:点击“execute”按钮导入数据

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

查看刚才导进去的数据

3.  删除文档

删除索引格式如下:

1) 删除制定ID的索引

<delete>

<id>8</id>

</delete>

<commit/>

2) 删除查询到的索引数据

<delete>

<query>product_catalog_name:幽默杂货</query>

</delete>

3) 删除所有索引数据

<delete>

<query>*:*</query>

</delete>

b)          查询索引

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

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

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

过滤价格15到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来实现分页。

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,设置格式前缀和后缀。

例如:

Solr管理索引库——(十三)相关推荐

  1. Solr快速入门第七讲——使用SolrJ管理索引库

    什么是SolrJ? SolrJ是访问Solr服务的Java客户端,提供索引(这里指的就是创建索引.更新索引以及删除索引)和搜索(这里指的是查询索引)的请求方法,SolrJ通常嵌入在业务系统中,通过So ...

  2. Solr的工作原理以及如何管理索引库

    1. Solr的简介 ​ Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口.用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引:也 ...

  3. Solr如何管理索引库

    使用SolrJ可以实现索引库的增删改查操作. 1 添加文档 第一步:把solrJ的jar包添加到工程中. 第二步:创建一个SolrServer,使用HttpSolrServer创建对象. 第三步:创建 ...

  4. Windows系统环境下Solr之Java实战(三)使用solrJ管理索引库

    https://www.cnblogs.com/zhuxiaojie/p/5764680.html https://www.cnblogs.com/xieyupeng/p/9317158.html 转 ...

  5. solr管理界面详解

    原文地址:http://blog.csdn.net/zcl_love_wx/article/details/52092098 solr 服务器管理界面可以查看系统状态.solr设置.分词检测.查询索引 ...

  6. Solr管理页面 上

    DashBoard(仪表盘) Logging(日志) Core Admin(Core管理) 在Solr中,每一个Core,代表一个索引库,里面包含索引数据及其配置信息. Solr中可以拥有多个Core ...

  7. SolrJ查询索引库

    查询索引库 查询步骤 第一步:创建一个SolrServer对象 第二步:创建一个SolrQuery对象 第三步:向SolrQuery中添加查询条件.过滤条件 第四步:执行查询,得到一个Response ...

  8. solr创建索引_Solr:创建拼写检查器

    solr创建索引 在上一篇文章中,我谈到了Solr Spellchecker的工作原理,然后向您展示了其性能的一些测试结果. 现在,我们将看到另一种拼写检查方法. 与其他方法一样,此方法使用两步过程. ...

  9. (转) 淘淘商城系列——使用SolrJ查询索引库

    http://blog.csdn.net/yerenyuan_pku/article/details/72908538 我们有必要在工程中写查询索引库的代码前先进行必要的测试.我们先到Solr服务页面 ...

最新文章

  1. 查询数据,插入临时表
  2. 【JUC并发编程07】Callable接口
  3. Python学习笔记:面向对象高级编程(中上)
  4. JAVA通信编程(一)——串口通讯
  5. 在eclipse中创建第一个java应用程序,并在控制台输出“hello world”。
  6. 【HDU3336】Count the String(kmp--每个前缀出现的次数)
  7. 需求分析报告和需求规格说明书有什么区别?
  8. 《佛祖都说了些什么》读书笔记
  9. 售前技能——寻找客户
  10. ACL 2022 | PLATO-LTM:具有长期记忆机制的对话生成框架
  11. 数据挖掘与数据分析项目链家租房数据(一)数据爬虫
  12. 现在可以把安卓改为鸿蒙系统了吗,华为官宣鸿蒙系统发布后,现有安卓系统可以直接切换新系统...
  13. 网络爬虫playwright实现网站自动登录并签到
  14. linux能做什么?
  15. 无界键鼠(MouseWithoutBorders)的安装与无法连接的解决方案
  16. 计算机无法使用本地搜索,电脑资源管理器搜索功能无法使用解决措施
  17. c语言缓冲区溢出函数,示例C程序上的缓冲区溢出
  18. Vue3 <template #title>
  19. chrome 升级64位 java,终于等到你 Chrome85版本升级至64位
  20. 27岁的大专毕业生还能继续IT职业吗?

热门文章

  1. 蓝桥杯 ADV-72 算法提高 一元一次方程
  2. LeetCode 513. Find Bottom Left Tree Value
  3. openwrt 编译c语言,编译一个可以运行在openwrt上的c程序
  4. python修改pip源脚本_修改python的pip源为国内源
  5. SSH下know_hosts的作用(转)
  6. Kotlin StandardKt 标准库源码走一波
  7. ios textView显示不全
  8. 互联网移动在“云”端
  9. 轻轻松松统计代码行数
  10. 红帽发布虚拟化策略 产品即将上市