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 :是否缩进

勾上选择缩进显示

不选择缩进显示

相关推荐
MZ_ZXD00136 分钟前
springboot旅游信息管理系统-计算机毕业设计源码21675
java·c++·vue.js·spring boot·python·django·php
wqq63108555 小时前
Python基于Vue的实验室管理系统 django flask pycharm
vue.js·python·django
Q_Q19632884755 小时前
python大学生爱心校园互助代购网站_nyvlx_django Flask vue pycharm项目
python·django·flask
wxin_VXbishe11 小时前
C#(asp.net)学员竞赛信息管理系统-计算机毕业设计源码28790
java·vue.js·spring boot·spring·django·c#·php
码界筑梦坊11 小时前
330-基于Python的社交媒体舆情监控系统
python·mysql·信息可视化·数据分析·django·毕业设计·echarts
码界筑梦坊12 小时前
325-基于Python的校园卡消费行为数据可视化分析系统
开发语言·python·信息可视化·django·毕业设计
Elastic 中国社区官方博客12 小时前
使用 Groq 与 Elasticsearch 进行智能查询
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
码界筑梦坊13 小时前
327-基于Django的兰州空气质量大数据可视化分析系统
python·信息可视化·数据分析·django·毕业设计·数据可视化
WangYaolove13141 天前
基于python的在线水果销售系统(源码+文档)
python·mysql·django·毕业设计·源码
意疏1 天前
程序员兼职如何选择靠谱的软件外包平台 与 我的避坑经验
django