05、全文检索 -- Solr -- Solr 全文检索之图形界面的文档管理(文档的添加、删除,如何通过关键字等参数查询文档)

目录

  • [Solr 全文检索之文档管理](#Solr 全文检索之文档管理)
    • 添加文档
      • [使用 JSON 添加文档:](#使用 JSON 添加文档:)
      • [使用 XML 添加文档:](#使用 XML 添加文档:)
    • 删除文档
      • [使用 JSON 删除文档:](#使用 JSON 删除文档:)
      • [使用 XML 删除文档:](#使用 XML 删除文档:)
    • 查询文档
    • 查询文档的详细参数
      • [fq(Filter Query):过滤](#fq(Filter Query):过滤)
      • sort:排序
      • start、rows:分页
      • [fl(Field List):指定返回哪些字段的数据](#fl(Field List):指定返回哪些字段的数据)
      • [df(Default Field): 指定通过哪个字段查询关键字](#df(Default Field): 指定通过哪个字段查询关键字)
      • [wt(write type):响应类型](#wt(write type):响应类型)
      • [debugQuery: 调试过程](#debugQuery: 调试过程)
      • hl:高亮效果
      • [indent on :是否缩进](#indent on :是否缩进)

Solr 全文检索之文档管理

看下一开始还没操作过的数据

添加文档

(1)选中指定Core,然后选择"Documents"标签页。

(2)在编辑页面中选择数据格式:XML或JSON。

(3)输入XML或JSON数据:

使用 JSON 添加文档:

复制代码
{
    "id": 1,
    "title": "Spring Boot"
    "description":  "学习 Spring Boot 真有趣"
}

然后再看这里,文档数量变成1了。

使用 XML 添加文档:

复制代码
<add>
    <doc>
       <field name="id">2</field>
       <field name="description">学习 Solr 全文检索 真有趣</field>
    </doc>
</add>

删除文档

(1)选中指定Core,然后选择"Documents"标签页。

(2)在编辑页面中选择数据格式:(Solr Command(raw XML或JSON))

(3)输入XML或JSON数据:

使用 JSON 删除文档:

复制代码
{"delete":{"id":1}}

我这里选择文档类型为 JSON ,而且写法也是 JSON 格式,但是却删除失败。

写的文档内容不变,文档类型选择:Solr Command(raw XML或JSON) ,就可以删除成功了。

从这里看,可以看出原本两个文档,现在只剩下一个了

使用 XML 删除文档:

复制代码
<delete>
    <id>2</id>
</delete>

可以看到,文档数量为 0 。两种删除文档的方式都成功了

【备注:】添加文档用add命令、删除文档用delete命令

查询文档

为了演示,现在先把刚刚删除的文档再添加进来:

选中指定 Core,然后选择 "Query" 标签页。

复制代码
"q" 文本框用于输入查询参数。

例如 输入 "name:检索",这意味着检索 name字段中出现 " 检索" 关键字的所有文档;
例如 输入 "学习",这意味着检索默认字段(由df文本框指定)中出现"学习"关键字的所有文档;

例如 输入 "*:*",这意味着检索任意字段中出现任意关键字的文档------也就是检索所有文档。

输入 "description:检索"

输入 "学习"

复制代码
输入 "*:*"

Solr的查询语法:https://lucene.apache.org/solr/guide/8_7/query-syntax-and-parsing.html 页面

查询文档的详细参数

fq(Filter Query):过滤

fq(Filter Query):对应于fq参数,过滤也是一个查询,用于过滤查询结果。

在负责查询时,过滤可以很好的提高查询效率,fq查询的内容会被缓存着,下次使用相同的过滤查询时,可以直接从缓存中命中。

sort:排序

sort:对应于sort参数,用于指定根据哪个字段的得分进行排序。

如"price asc"或"inStock desc, price asc"等。

start、rows:分页

start、rows:用于控制分页。其中start指定从第几个文档开始,rows指定最多返回几个文档。

现在演示的文档有两个,分页查询如图:

fl(Field List):指定返回哪些字段的数据

fl(Field List):对应于fl参数,用于指定搜索结果中需要返回的Field,这些Field需要被索引才能正常返回。

复制代码
多个Field之间可通过空格或逗号分隔。Field列表还支持通配符:*,这意味着返回文档的所有Field。
默认情况,fl默认值为:*,也就是返回所有Field。

设置查询后只返回哪些字段的数据

df(Default Field): 指定通过哪个字段查询关键字

df(Default Field):对应于df参数,指定默认Field,如果在q参数中没有指定要检索的字段,

则默认检索该参数所指定的字段。

wt(write type):响应类型

wt(write type):对应于wt参数,用于选择响应类型。默认是 json。

也就是默认查询结果将以JSON格式展现,常用的 wt 还可以是 xml。

debugQuery: 调试过程

debugQuery:勾选该复选框之后,相当于将debugQuery参数设为true,

这样返回的结果中会包含调试信息、包含"explain"信息(explain 中解释了每个文档的得分过程)。

相当于显示调试的过程

hl:高亮效果

对关键词查询的结果添加高亮效果

indent on :是否缩进

勾上选择缩进显示

不选择缩进显示

相关推荐
放下华子我只抽RuiKe517 小时前
AI大模型开发-实战精讲:从零构建 RFM 会员价值模型(再进阶版:模拟数据 + 动态打分 + 策略落地)
大数据·人工智能·深度学习·elasticsearch·机器学习·搜索引擎·全文检索
龙腾AI白云1 天前
【生产线数智化质量可靠性管控与安全风险感知】
深度学习·plotly·django·flask
金士镧(厦门)新材料有限公司1 天前
稀土抑烟剂:环保与安全的关键力量
科技·安全·全文检索·生活·能源
WangYaolove13141 天前
基于python的多媒体资料管理系统(源码+文档)
python·mysql·django·毕业设计·源码
wefly20172 天前
开发者效率神器!jsontop.cn一站式工具集,覆盖开发全流程高频需求
前端·后端·python·django·flask·前端开发工具·后端开发工具
liliangcsdn2 天前
如何基于LLM对文档进行任务划分
人工智能·全文检索
yuyuxun12 天前
基于JSP购物网站系统的设计与实现 毕业设计-附源码03645
java·开发语言·python·django·flask·课程设计·pygame
莽撞的大地瓜2 天前
从人工审校到AI赋能:音视频校对如何保障内容质量
自然语言处理·全文检索·中文分词
vx-程序开发2 天前
springboot具备推荐和预警机制的大学生兼职平台的设计与实现-计算机毕业设计源码17157
java·c++·spring boot·python·spring·django·php
Mr数据杨2 天前
【Dv3Admin】Django通用自定义工作台卡片
数据库·django·sqlite