1、了解搜索技术

1.1 什么是搜索

简单的说,搜索就是搜寻、查找,在IT行业中就是指用户输入关键字,通过相应的算法,查询并返回用户所需要的信息。

1.2 普通的数据库搜索

类似:select * from 表名 where 字段名 like ‘%关键字%’

例如:select * from article where content like ’%here%’

结果: where here shere

1.3 新的业务需求

比如,用户在百度文本框中输入,“吃饭睡觉写程序”,会出现的以下结果:

在这里插入图片描述

从结果可以看出,百度搜索具备以下明显特点:

1、即使在相关结果数量接近500万时,也能快速得出结果。

2、搜索的结果不仅仅局限于完整的“吃饭睡觉写程序”这一短语,而是将此短语拆分成,“写程序”,“吃饭”,“睡觉”,“程序”等关键字。

3、对拆分后的搜索关键字进行标红显示。

4、…

问题:上述功能,使用大家以前学过的数据库搜索能够方便实现吗?

1.4 普通的数据库搜索的缺陷

类似:select * from 表名 where 字段名 like ‘%关键字%’

例如:select * from article where content like ’%here%’

结果: where here shere

1、因为没有通过高效的索引方式,所以查询的速度在大量数据的情况下是很慢。

2、搜索效果比较差,只能对用户输入的完整关键字首尾位进行模糊匹配。用户搜索的结果误多输入一个字符,可能就导致查询出的结果远离用户的预期。

2、 搜索技术

2.1 搜索引擎的种类

搜索引擎按照功能通常分为垂直搜索和综合搜索。

1、垂直搜索是指专门针对某一类信息进行搜索。例如:会搜网 主要做商务搜索的,并且提供商务信息。除此之外还有爱看图标网、职友集等。2、综合搜索是指对众多信息进行综合性的搜索。例如:百度、谷歌、搜狗、360搜索等。 

2.2 倒排索引

倒排索引又叫反向索引(右下图)以字或词为文档中出现的位置情况。

在这里插入图片描述

在实际的运用中,我们可以对数据库中原始的数据结构(左图),在业务空闲时事先根据左图内容,创建新的倒排索引结构的数据区域(右图)。

用户有查询需求时,先访问倒排索引数据区域(右图),得出文档id后,通过文档id即可快速,准确的通过左图找到具体的文档内容。

这一过程,可以通过我们自己写程序来实现,也可以借用已经抽象出来的通用开源技术来实现。


4 Lucene概述

4.1 什么是Lucene

LOGO:

在这里插入图片描述

  • Lucene是一套用于全文检索和搜寻的开源程序库,由Apache软件基金会支持和提供

  • Lucene提供了一个简单却强大的应用程序接口(API),能够做全文索引和搜寻,在Java开发环境里Lucene是一个成熟的免费开放源代码工具

  • Lucene并不是现成的搜索引擎产品,但可以用来制作搜索引擎产品

  • 官网:http://lucene.apache.org/

4.2 什么是全文检索?

在这里插入图片描述

4.3 Lucene下载及版本问题

官网:

在这里插入图片描述

  • 目前最新的版本是7.x系列,但是在企业中还是用4.x比较多,所以我们学习4.x的版本

老版本下载地址:

http://archive.apache.org/dist/lucene/java/

4.4 Lucene、Solr、Elasticsearch关系

Lucene:底层的API,工具包

Solr:基于Lucene开发的企业级的搜索引擎产品

Elasticsearch:基于Lucene开发的企业级的搜索引擎产品

5 Lucene的基本使用

使用Lucene的API来实现对索引的增(创建索引)、删(删除索引)、改(修改索引)、查(搜索数据)。

5.1 创建索引

5.1.1 创建索引的流程

在这里插入图片描述

文档Document:数据库中一条具体的记录

字段Field:数据库中的每个字段

目录对象Directory:物理存储位置

写出器的配置对象:需要分词器和lucene的版本

5.1.2 添加依赖 在这里插入图片描述

<properties><lunece.version>4.10.2</lunece.version></properties>
<dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version></dependency><!-- lucene核心库 --><dependency><groupId>org.apache.lucene</groupId><artifactId>lucene-core</artifactId><version>${lunece.version}</version></dependency><!-- Lucene的查询解析器 --><dependency><groupId>org.apache.lucene</groupId><artifactId>lucene-queryparser</artifactId><version>${lunece.version}</version></dependency><!-- lucene的默认分词器库 --><dependency><groupId>org.apache.lucene</groupId><artifactId>lucene-analyzers-common</artifactId><version>${lunece.version}</version></dependency><!-- lucene的高亮显示 --><dependency><groupId>org.apache.lucene</groupId><artifactId>lucene-highlighter</artifactId><version>${lunece.version}</version></dependency>
</dependencies>

5.1.3 代码实现

步骤:

//1 创建文档对象
//2 创建存储目录
//3 创建分词器
//4 创建索引写入器的配置对象
//5 创建索引写入器对象
//6 将文档交给索引写入器
//7 提交
//8 关闭
// 创建索引@Testpublic void testCreate() throws Exception{//1 创建文档对象Document document = new Document();// 创建并添加字段信息。参数:字段的名称、字段的值、是否存储,这里选Store.YES代表存储到文档列表。Store.NO代表不存储document.add(new StringField("id", "1", Field.Store.YES));// 这里我们title字段需要用TextField,即创建索引又会被分词。StringField会创建索引,但是不会被分词document.add(new TextField("title", "谷歌地图之父跳槽facebook", Field.Store.YES));//2 索引目录类,指定索引在硬盘中的位置Directory directory = FSDirectory.open(new File("d:\\indexDir"));//3 创建分词器对象Analyzer analyzer = new StandardAnalyzer();//4 索引写出工具的配置对象IndexWriterConfig conf = new IndexWriterConfig(Version.LATEST, analyzer);//5 创建索引的写出工具类。参数:索引的目录和配置信息IndexWriter indexWriter = new IndexWriter(directory, conf);//6 把文档交给IndexWriterindexWriter.addDocument(document);//7 提交indexWriter.commit();//8 关闭indexWriter.close();}

在这里插入图片描述

5.1.4 使用工具查看索引

在这里插入图片描述

5.1.5 创建索引的API详解

5.1.5.1 Document(文档类)

Document:文档对象,是一条原始的数据

在这里插入图片描述

5.1.5.2 Field(字段类)

一个Document中可以有很多个不同的字段,每一个字段都是一个Field类的对象。

一个Document中的字段其类型是不确定的,因此Field类就提供了各种不同的子类,来对应这些不同类型的字段。

在这里插入图片描述

这些子类有一些不同的特性:

1)DoubleField、FloatField、IntField、LongField、StringField、TextField这些子类一定会被创建索引,但是不会被分词,而且不一定会被存储到文档列表。要通过构造函数中的参数Store来指定:如果Store.YES代表存储,Store.NO代表不存储

在这里插入图片描述

2)TextField即创建索引,又会被分词。StringField会创建索引,但是不会被分词。

如果不分词,会造成整个字段作为一个词条,除非用户完全匹配,否则搜索不到:
在这里插入图片描述
我们一般,需要搜索的字段,都会做分词:

在这里插入图片描述

3)StoreField一定会被存储,但是一定不创建索引

StoredField可以创建各种数据类型的字段:

在这里插入图片描述

在这里插入图片描述

问题1:如何确定一个字段是否需要存储?

如果一个字段要显示到最终的结果中,那么一定要存储,否则就不存储

问题2:如何确定一个字段是否需要创建索引?

如果要根据这个字段进行搜索,那么这个字段就必须创建索引。

问题3:如何确定一个字段是否需要分词?

前提是这个字段首先要创建索引。然后如果这个字段的值是不可分割的,那么就不需要分词。例如:ID

5.1.5.3 Directory(目录类)

指定索引要存储的位置

在这里插入图片描述

FSDirectory:文件系统目录,会把索引库指向本地磁盘。

特点:速度略慢,但是比较安全

RAMDirectory:内存目录,会把索引库保存在内存。

特点:速度快,但是不安全

5.1.5.4 Analyzer(分词器类)

• 提供分词算法,可以把文档中的数据按照算法分词

在这里插入图片描述

这些分词器,并没有合适的中文分词器,因此一般我们会用第三方提供的分词器:

在这里插入图片描述
一般我们用IK分词器。

5.1.5.5 IK分词器(重要)

  • 概述

在这里插入图片描述

林良益

IK分词器官方版本是不支持Lucene4.X的,有人基于IK的源码做了改造,支持了Lucene4.X:

在这里插入图片描述

  • 基本使用

引入IK分词器:

在这里插入图片描述

	<dependency><groupId>com.janeluo</groupId><artifactId>ikanalyzer</artifactId><version>2012_u6</version></dependency>

在这里插入图片描述

中文分词更专业:

在这里插入图片描述

  • 扩展词典和停用词典

IK分词器的词库有限,新增加的词条可以通过配置文件添加到IK的词库中,也可以把一些不用的词条去除:
在这里插入图片描述
[外链图片转存失败(img-f41wpopO-1562576510318)(assets/wps18CD.tmp.jpg)]

扩展词典:用来引入一些自定义的新词
停止词典:用来停用一些不必要的词条

在这里插入图片描述

结果:分词中,加入了我们新的词,被停用的词语没有被分词:

在这里插入图片描述

5.1.5.6 IndexWriterConfig(索引写出器配置类)

1) 设置配置信息:Lucene的版本和分词器类型

在这里插入图片描述

2)设置是否清空索引库中的数据

在这里插入图片描述

5.1.5.7 IndexWriter(索引写出器类)

  • 索引写出工具,作用就是 实现对索引的增(创建索引)、删(删除索引)、改(修改索引)

在这里插入图片描述

  • 可以一次创建一个,也可以批量创建索引
	// 批量创建索引@Testpublic void testCreate2() throws Exception{// 创建文档的集合Collection<Document> docs = new ArrayList<>();// 创建文档对象Document document1 = new Document();document1.add(new StringField("id", "1", Field.Store.YES));document1.add(new TextField("title", "谷歌地图之父跳槽facebook", Field.Store.YES));docs.add(document1);// 创建文档对象Document document2 = new Document();document2.add(new StringField("id", "2", Field.Store.YES));document2.add(new TextField("title", "谷歌地图之父加盟FaceBook", Field.Store.YES));docs.add(document2);// 创建文档对象Document document3 = new Document();document3.add(new StringField("id", "3", Field.Store.YES));document3.add(new TextField("title", "谷歌地图创始人拉斯离开谷歌加盟Facebook", Field.Store.YES));docs.add(document3);// 创建文档对象Document document4 = new Document();document4.add(new StringField("id", "4", Field.Store.YES));document4.add(new TextField("title", "谷歌地图之父跳槽Facebook与Wave项目取消有关", Field.Store.YES));docs.add(document4);// 创建文档对象Document document5 = new Document();document5.add(new StringField("id", "5", Field.Store.YES));document5.add(new TextField("title", "谷歌地图之父拉斯加盟社交网站Facebook", Field.Store.YES));docs.add(document5);// 索引目录类,指定索引在硬盘中的位置Directory directory = FSDirectory.open(new File("d:\\indexDir"));// 引入IK分词器Analyzer analyzer = new IKAnalyzer();// 索引写出工具的配置对象IndexWriterConfig conf = new IndexWriterConfig(Version.LATEST, analyzer);// 设置打开方式:OpenMode.APPEND 会在索引库的基础上追加新索引。OpenMode.CREATE会先清空原来数据,再提交新的索引conf.setOpenMode(IndexWriterConfig.OpenMode.CREATE);// 创建索引的写出工具类。参数:索引的目录和配置信息IndexWriter indexWriter = new IndexWriter(directory, conf);// 把文档集合交给IndexWriterindexWriter.addDocuments(docs);// 提交indexWriter.commit();// 关闭indexWriter.close();}

5.2 查询索引数据

5.2.1 代码实现

实现步骤:

//1 创建读取目录对象//2 创建索引读取工具//3 创建索引搜索工具//4 创建查询解析器//5 创建查询对象//6 搜索数据//7 各种操作
	@Testpublic void testSearch() throws Exception {// 索引目录对象Directory directory = FSDirectory.open(new File("d:\\indexDir"));// 索引读取工具IndexReader reader = DirectoryReader.open(directory);// 索引搜索工具IndexSearcher searcher = new IndexSearcher(reader);// 创建查询解析器,两个参数:默认要查询的字段的名称,分词器QueryParser parser = new QueryParser("title", new IKAnalyzer());// 创建查询对象Query query = parser.parse("谷歌");// 搜索数据,两个参数:查询条件对象要查询的最大结果条数// 返回的结果是 按照匹配度排名得分前N名的文档信息(包含查询到的总条数信息、所有符合条件的文档的编号信息)。TopDocs topDocs = searcher.search(query, 10);// 获取总条数System.out.println("本次搜索共找到" + topDocs.totalHits + "条数据");// 获取得分文档对象(ScoreDoc)数组.SocreDoc中包含:文档的编号、文档的得分ScoreDoc[] scoreDocs = topDocs.scoreDocs;for (ScoreDoc scoreDoc : scoreDocs) {// 取出文档编号int docID = scoreDoc.doc;// 根据编号去找文档Document doc = reader.document(docID);System.out.println("id: " + doc.get("id"));System.out.println("title: " + doc.get("title"));// 取出文档得分System.out.println("得分: " + scoreDoc.score);}}

5.2.2 核心API

5.2.2.1 QueryParser(查询解析器)

1)QueryParser(单一字段的查询解析器)

在这里插入图片描述

2)MultiFieldQueryParser(多字段的查询解析器)

在这里插入图片描述

5.2.2.2 Query(查询对象,包含要查询的关键词信息)

  • 1)通过QueryParser解析关键字,得到查询对象

在这里插入图片描述

  • 2)自定义查询对象(高级查询)

我们可以通过Query的子类,直接创建查询对象,实现高级查询(后面详细讲)

在这里插入图片描述

5.2.2.3 IndexSearch(索引搜索对象,执行搜索功能)

IndexSearch可以帮助我们实现:快速搜索、排序、打分等功能。

IndexSearch需要依赖IndexReader类

在这里插入图片描述

查询后得到的结果,就是打分排序后的前N名结果。N可以通过第2个参数来指定:

在这里插入图片描述

5.2.2.4 TopDocs(查询结果对象)

通过IndexSearcher对象,我们可以搜索,获取结果:TopDocs对象

在TopDocs中,包含两部分信息:

int totalHits :查询到的总条数ScoreDoc[] scoreDocs	: 得分文档对象的数组

在这里插入图片描述

5.2.2.5 ScoreDoc(得分文档对象)

ScoreDoc是得分文档对象,包含两部分数据:

int doc	:文档的编号----lucene给文档的一个唯一编号float score	:文档的得分信息拿到编号后,我们还需要根据编号来获取真正的文档信息

在这里插入图片描述

5.2. 特殊查询

抽取公用的搜索方法:

	public void search(Query query) throws Exception {// 索引目录对象Directory directory = FSDirectory.open(new File("indexDir"));// 索引读取工具IndexReader reader = DirectoryReader.open(directory);// 索引搜索工具IndexSearcher searcher = new IndexSearcher(reader);// 搜索数据,两个参数:查询条件对象要查询的最大结果条数// 返回的结果是 按照匹配度排名得分前N名的文档信息(包含查询到的总条数信息、所有符合条件的文档的编号信息)。TopDocs topDocs = searcher.search(query, 10);// 获取总条数System.out.println("本次搜索共找到" + topDocs.totalHits + "条数据");// 获取得分文档对象(ScoreDoc)数组.SocreDoc中包含:文档的编号、文档的得分ScoreDoc[] scoreDocs = topDocs.scoreDocs;for (ScoreDoc scoreDoc : scoreDocs) {// 取出文档编号int docID = scoreDoc.doc;// 根据编号去找文档Document doc = reader.document(docID);System.out.println("id: " + doc.get("id"));System.out.println("title: " + doc.get("title"));// 取出文档得分System.out.println("得分: " + scoreDoc.score);}}

5.2.3.1 TermQuery(词条查询)

	/** 测试普通词条查询* 注意:Term(词条)是搜索的最小单位,不可再分词。值必须是字符串!*/@Testpublic void testTermQuery() throws Exception {// 创建词条查询对象Query query = new TermQuery(new Term("title", "谷歌地图"));search(query);}

在这里插入图片描述

5.2.3.2 WildcardQuery(通配符查询)

 	/** 测试通配符查询* 	? 可以代表任意一个字符* 	* 可以任意多个任意字符*/@Testpublic void testWildCardQuery() throws Exception {// 创建查询对象Query query = new WildcardQuery(new Term("title", "*歌*"));search(query);}

5.2.3.3 FuzzyQuery(模糊查询)

	/** 测试模糊查询*/@Testpublic void testFuzzyQuery() throws Exception {// 创建模糊查询对象:允许用户输错。但是要求错误的最大编辑距离不能超过2// 编辑距离:一个单词到另一个单词最少要修改的次数 facebool --> facebook 需要编辑1次,编辑距离就是1//    Query query = new FuzzyQuery(new Term("title","fscevool"));// 可以手动指定编辑距离,但是参数必须在0~2之间Query query = new FuzzyQuery(new Term("title","facevool"),1);search(query);}

5.2.3.4 NumericRangeQuery(数值范围查询)

	/** 测试:数值范围查询* 注意:数值范围查询,可以用来对非String类型的ID进行精确的查找*/@Testpublic void testNumericRangeQuery() throws Exception{// 数值范围查询对象,参数:字段名称,最小值、最大值、是否包含最小值、是否包含最大值Query query = NumericRangeQuery.newLongRange("id", 2L, 2L, true, true);search(query);}

5.2.3.5 BooleanQuery(组合查询)

	/** 布尔查询:* 	布尔查询本身没有查询条件,可以把其它查询通过逻辑运算进行组合!* 交集:Occur.MUST + Occur.MUST* 并集:Occur.SHOULD + Occur.SHOULD* 非:Occur.MUST_NOT*/@Testpublic void testBooleanQuery() throws Exception{Query query1 = NumericRangeQuery.newLongRange("id", 1L, 3L, true, true);Query query2 = NumericRangeQuery.newLongRange("id", 2L, 4L, true, true);// 创建布尔查询的对象BooleanQuery query = new BooleanQuery();// 组合其它查询query.add(query1, BooleanClause.Occur.MUST_NOT);query.add(query2, BooleanClause.Occur.SHOULD);search(query);}

5.4 修改索引

步骤:

//1 创建文档存储目录</p>
//2 创建索引写入器配置对象//3 创建索引写入器//4 创建文档数据//5 修改//6 提交//7 关闭
	/* 测试:修改索引* 注意:* 	A:Lucene修改功能底层会先删除,再把新的文档添加。* 	B:修改功能会根据Term进行匹配,所有匹配到的都会被删除。这样不好* 	C:因此,一般我们修改时,都会根据一个唯一不重复字段进行匹配修改。例如ID* 	D:但是词条搜索,要求ID必须是字符串。如果不是,这个方法就不能用。* 如果ID是数值类型,我们不能直接去修改。可以先手动删除deleteDocuments(数值范围查询锁定ID),再添加。*/
@Test
public void testUpdate() throws Exception{// 创建目录对象Directory directory = FSDirectory.open(new File("indexDir"));// 创建配置对象IndexWriterConfig conf = new IndexWriterConfig(Version.LATEST, new IKAnalyzer());// 创建索引写出工具IndexWriter writer = new IndexWriter(directory, conf);// 创建新的文档数据Document doc = new Document();doc.add(new StringField("id","1",Store.YES));doc.add(new TextField("title","谷歌地图之父跳槽facebook ",Store.YES));/* 修改索引。参数:* 	词条:根据这个词条匹配到的所有文档都会被修改* 	文档信息:要修改的新的文档数据*/writer.updateDocument(new Term("id","1"), doc);// 提交writer.commit();// 关闭writer.close();
}

5.5 删除索引

步骤:

//1 创建文档对象目录

//2 创建索引写入器配置对象

//3 创建索引写入器

//4 删除

//5 提交

//6 关闭

	/** 演示:删除索引* 注意:* 	一般,为了进行精确删除,我们会根据唯一字段来删除。比如ID* 	如果是用Term删除,要求ID也必须是字符串类型!*/
@Test
public void testDelete() throws Exception {// 创建目录对象Directory directory = FSDirectory.open(new File("indexDir"));// 创建配置对象IndexWriterConfig conf = new IndexWriterConfig(Version.LATEST, new IKAnalyzer());// 创建索引写出工具IndexWriter writer = new IndexWriter(directory, conf);// 根据词条进行删除//		writer.deleteDocuments(new Term("id", "1"));// 根据query对象删除,如果ID是数值类型,那么我们可以用数值范围查询锁定一个具体的ID//		Query query = NumericRangeQuery.newLongRange("id", 2L, 2L, true, true);//		writer.deleteDocuments(query);// 删除所有writer.deleteAll();// 提交writer.commit();// 关闭writer.close();
}

6 Lucene的高级使用

6.1 高亮显示

原理:

1)给所有关键字加上一个HTML标签

在这里插入图片描述

2)给这个特殊的标签设置CSS样式

在这里插入图片描述

实现步骤:

	//1 创建目录 对象//2 创建索引读取工具//3 创建索引搜索工具//4 创建查询解析器//5 创建查询对象//6 创建格式化器//7 创建查询分数工具//8 准备高亮工具//9 搜索//10 获取结果//11 用高亮工具处理普通的查询结果
	// 高亮显示@Testpublic void testHighlighter() throws Exception {// 目录对象Directory directory = FSDirectory.open(new File("indexDir"));// 创建读取工具IndexReader reader = DirectoryReader.open(directory);// 创建搜索工具IndexSearcher searcher = new IndexSearcher(reader);QueryParser parser = new QueryParser("title", new IKAnalyzer());Query query = parser.parse("谷歌地图");// 格式化器Formatter formatter = new SimpleHTMLFormatter("<em>", "</em>");QueryScorer scorer = new QueryScorer(query);// 准备高亮工具Highlighter highlighter = new Highlighter(formatter, scorer);// 搜索TopDocs topDocs = searcher.search(query, 10);System.out.println("本次搜索共" + topDocs.totalHits + "条数据");ScoreDoc[] scoreDocs = topDocs.scoreDocs;for (ScoreDoc scoreDoc : scoreDocs) {// 获取文档编号int docID = scoreDoc.doc;Document doc = reader.document(docID);System.out.println("id: " + doc.get("id"));String title = doc.get("title");// 用高亮工具处理普通的查询结果,参数:分词器,要高亮的字段的名称,高亮字段的原始值String hTitle = highlighter.getBestFragment(new IKAnalyzer(), "title", title);System.out.println("title: " + hTitle);// 获取文档的得分System.out.println("得分:" + scoreDoc.score);}}

6.2 排序

	// 排序@Testpublic void testSortQuery() throws Exception {// 目录对象Directory directory = FSDirectory.open(new File("indexDir"));// 创建读取工具IndexReader reader = DirectoryReader.open(directory);// 创建搜索工具IndexSearcher searcher = new IndexSearcher(reader);QueryParser parser = new QueryParser("title", new IKAnalyzer());Query query = parser.parse("谷歌地图");// 创建排序对象,需要排序字段SortField,参数:字段的名称、字段的类型、是否反转如果是false,升序。true降序Sort sort = new Sort(new SortField("id", SortField.Type.LONG, true));// 搜索TopDocs topDocs = searcher.search(query, 10,sort);System.out.println("本次搜索共" + topDocs.totalHits + "条数据");ScoreDoc[] scoreDocs = topDocs.scoreDocs;for (ScoreDoc scoreDoc : scoreDocs) {// 获取文档编号int docID = scoreDoc.doc;Document doc = reader.document(docID);System.out.println("id: " + doc.get("id"));System.out.println("title: " + doc.get("title"));}}

6.3 分页

	// 分页@Testpublic void testPageQuery() throws Exception {// 实际上Lucene本身不支持分页。因此我们需要自己进行逻辑分页。我们要准备分页参数:int pageSize = 2;// 每页条数int pageNum = 3;// 当前页码int start = (pageNum - 1) * pageSize;// 当前页的起始条数int end = start + pageSize;// 当前页的结束条数(不能包含)// 目录对象Directory directory = FSDirectory.open(new File("indexDir"));// 创建读取工具IndexReader reader = DirectoryReader.open(directory);// 创建搜索工具IndexSearcher searcher = new IndexSearcher(reader);QueryParser parser = new QueryParser("title", new IKAnalyzer());Query query = parser.parse("谷歌地图");// 创建排序对象,需要排序字段SortField,参数:字段的名称、字段的类型、是否反转如果是false,升序。true降序Sort sort = new Sort(new SortField("id", Type.LONG, false));// 搜索数据,查询0~end条TopDocs topDocs = searcher.search(query, end,sort);System.out.println("本次搜索共" + topDocs.totalHits + "条数据");ScoreDoc[] scoreDocs = topDocs.scoreDocs;for (int i = start; i < end; i++) {ScoreDoc scoreDoc = scoreDocs[i];// 获取文档编号int docID = scoreDoc.doc;Document doc = reader.document(docID);System.out.println("id: " + doc.get("id"));System.out.println("title: " + doc.get("title"));}}

6.4 得分算法

l Lucene会对搜索结果打分,用来表示文档数据与词条关联性的强弱,得分越高,表示查询的匹配度就越高,排名就越靠前!其算法公式是:

在这里插入图片描述

在这里插入图片描述


BerylYang
发布了2 篇原创文章 · 获赞 2 · 访问量 1964
私信关注
查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 同余方程和线性丢番图方程

    点赞收藏分享文章举报想飞的小菜鸡发布了7 篇原创文章 获赞 3 访问量 2064私信关注...

    2024/3/28 19:44:58
  2. Java 中 foreach 的用法

    点赞收藏分享文章举报粉胖胖发布了6 篇原创文章 获赞 0 访问量 2363私信关注...

    2024/3/29 10:23:28
  3. _09_面向对象之继承、多态

    四. 继承概念 继承是从已有的类中派生出新的类,新的类能吸收已有类的属性和行为,并能扩展新的属性和行为。 1.1 Java继承特点 1)Java是单继承的,不支持多继承。这样使得Java的继承关系很简单,一个类只能有一个父类,易于管理程序。同时一个类可以实现多个接口,从而克服单继…...

    2024/3/29 10:23:27
  4. 什么是 Java?

    一、什么是Java经过了多年的发展,Java早已由一门单纯的计算机编程语言,演变为了一套强大的技术体系。是的,什么是Java,我想技术体系四个字应该是最好的概括了吧。Java设计者们将Java划分为3种结构独立但却彼此依赖的技术体系分支,它们分别对应着不同的规范集合和组件:Jav…...

    2024/3/29 10:23:27
  5. _10_面向对象之抽象类与接口

    六. 抽象类与接口抽象类 1.1概念 抽象类往往用来表示设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。 比如:动物,它只是一个抽象的概念,并没有一个 “东西”叫做 “动物”。所以,它并不能代表一个实体,这种情况下,我们就适合把它定义成抽…...

    2024/3/29 10:23:25
  6. js三级联动

    原生js实现省市区三级联动 html部分代码<select name="" id="p">   <option value="0">请选择省</option> </select> <select name="" id="c">   <option value="0"&…...

    2024/3/28 22:03:17
  7. Heartrate:一个牛逼的工具,Python执行实时可视化

    实时堆栈追踪(stacktrace)Heartate——如监测心率般追踪程序运行项目地址:https://github.com/alexmojaki/heartrateHeartrate 是一个 Python 的工具库,可以实时可视化 Python 程序的执行过程。监控运行中的 Python 程序如图:如图所示,左侧数字表示每行代码被触发的次数。…...

    2024/3/29 10:23:23
  8. EasyRTMP+EasyDSS实现一套完整的紧急视频回传直播与存储回放方案之EasyRTMP-iOS的AACEncoder.m文件实现音频的硬编码功能

    音视频流媒体硬解码是指不使用CPU进行编码,使用显卡GPU,专用的DSP、FPGA、ASIC芯片等硬件进行编码。编码框架Video ToolBox和AudioToolbox。EasyRTMP是结合了多种音视频缓存及网络技术的一个rtmp直播推流端,包括:圆形缓冲区(circular buffer)、智能丢帧、自动重连、rtmp协议…...

    2024/3/29 10:23:22
  9. 单点登陆

    点赞收藏分享文章举报tian31233发布了44 篇原创文章 获赞 45 访问量 13万+私信关注...

    2024/3/28 17:24:07
  10. vim重复操作的宏录制

    在编辑某个文件的时候,可能会出现需要对某种特定的操作进行许多次的情况,以编辑下面的文件为例:;===================================================================================== ;This is a sample configuration file when upgrading XXX using InstallShield. …...

    2024/3/29 10:23:20
  11. SpringBoot创建工程

    一、SpringBoot简介 1.1 原有Spring优缺点分析 1.1.1 Spring的优点分析 Spring是Java企业版(Java Enterprise Edition,JEE,也称J2EE)的轻量级代替品。无需开发重量级的Enterprise JavaBean(EJB),Spring为企业级Java开发提供了一种相对简单的方法,通过依赖注入和面向切…...

    2024/3/28 22:03:25
  12. fastJson与jackson性能对比

    最近项目用到fastJson和jackson,为了决定到底弃用哪个,随手写了个测试看看到底谁的性能更胜一筹。看到过很多对比的帖子,大多数结果是fastJson性能高于jackson,可偏偏像SpringMVC这样成熟的框架默认也采用的jsckson,这就引起了我的怀疑,决定自己动手试试1、开始测试,用一…...

    2024/3/29 10:10:24
  13. php截取字符串几个实用的函数

    本文转载自:https://www.cnblogs.com/xzj8023tp/p/6430944.html 作者:xzj8023tp 转载请注明该声明。1.substr(源字符串,其实位置[,长度])-截取字符串返回部分字符串 <?php $str ="phpddt.com"; echo substr($str,2);//pddt.com echo substr($str,2,3);//pdd e…...

    2024/3/29 10:10:21
  14. “互联网”和“万维网”的区别

    之前对“互联网”和“万维网”的概念存在误解,一直认为互联网(Internet,也叫因特网)和万维网(World Wide Web)是同样的事物。但是,从技术的角度来说,“互联网”和“万维网”是两个独立的实体。 互联网是线路、协议以及通过TCP/IP协议实现数据电子传输的硬件和软件的集合体…...

    2024/3/29 10:10:20
  15. 使用sqlmap 绕过防火墙进行注入测试

    0x00 前言现在的网络环境往往是WAF/IPS/IDS保护着Web 服务器等等,这种保护措施往往会过滤挡住我们的SQL注入查询链接,甚至封锁我们的主机IP,所以这个时候,我们就要考虑怎样进行绕过,达到注入的目标。因为现在WAF/IPS/IDS都把sqlmap 列入黑名单了,呵呵!但是本文基于sqlma…...

    2024/3/29 10:23:19
  16. MySQL 常用函数大全

    MySQL数据库中提供了很丰富的函数。MySQL函数包括数学函数、字符串函数、日期和时间函数、条件判断函数、系统信息函数、加密函数、格式化函数等。通过这些函数,可以简化用户的操作。例如,字符串连接函数可以很方便的将多个字符串连接在一起。 在这一讲中将讲解的内容包括: …...

    2024/3/29 10:23:18
  17. 移动端h5优化方案

    一、加载优化1、减少HTTP请求: 因为手机浏览器同时响应请求为4个请求(Android支持4个,iOS 5后可支持6个),所以要尽量减少页面的请求数,首次加载同时请求数不能超过4个1、合并CSS、JavaScript2、合并小图片,使用字体图标2、缓存: 使用缓存可以减少向服务器的请求数,节省…...

    2024/3/29 10:23:17
  18. vs 2010、12、13、15安装Visual Assist

    下载 地址点赞收藏分享文章举报兲涳发布了12 篇原创文章 获赞 18 访问量 6万+私信关注...

    2024/3/29 10:23:16
  19. 高可用及读写分离

    高可用 查看MHA配置文件 [root@db03 ~]# cat /etc/mha/app1.cnf [server default] manager_log=/var/log/mha/app1/manager manager_workdir=/var/log/mha/app1 master_binlog_dir=/data/binlog user=mha passw…...

    2024/3/29 10:23:15
  20. Mysql使用联合主键时,并不是每个主键字段都能使用索引

    问题:Mysql使用联合主键时,每个主键字段都能使用索引吗? 对于这个问题,很多mysql的初学者都是搞不清楚的,今天作者做了一个实验,来验证这个问题,防止在应用环境中不当的使用索引,导致mysql性能下降。 实验环境: mysql 5.7 InnoDB引擎 表结构: 用两个测试表做实验,te…...

    2024/3/29 10:23:16

最新文章

  1. Oracle里的统计信息

    目录 一、什么是统计信息 二、oracle收集和查看统计信息的方法 1、使用analyze命令收集统计信息 2、使用dbms_stats包收集统计信息 3、analyze和dbms_stats的区别 4、查看统计信息 一、什么是统计信息 oracle数据库里的统计信息是如下的一组数据&#xff1a;他们存储在数…...

    2024/3/29 19:55:28
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. 如何在极狐GitLab 自定义 Pages 域名、SSL/TLS 证书

    本文作者&#xff1a;徐晓伟 GitLab 是一个全球知名的一体化 DevOps 平台&#xff0c;很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版&#xff0c;专门为中国程序员服务。可以一键式部署极狐GitLab。 本文主要讲述了在极狐GitLab 用户…...

    2024/3/29 11:30:45
  4. python数据分析和可视化【3】体检数据分析和小费数据分析

    文章目录 体检数据分析小费数据分析 体检数据分析 要求&#xff1a; &#xff08;1&#xff09;读取testdata文件&#xff0c;利用agg函数统计数据中‘淋巴细胞计数’的和与均值、‘白细胞计数’的和与均值。 &#xff08;2&#xff09;统计不同性别人群的血小板计数 &#xf…...

    2024/3/28 21:15:10
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/3/29 18:08:39
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/3/29 18:08:34
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/3/29 2:45:46
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/3/29 16:26:39
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/3/29 5:19:52
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/3/29 18:08:00
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/3/29 11:11:56
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/3/29 1:13:26
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/3/29 8:28:16
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/3/29 7:41:19
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/3/29 18:07:15
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/3/29 9:57:23
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/3/29 0:49:46
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/3/29 18:06:57
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/3/29 17:27:19
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/3/29 18:06:36
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/3/29 18:06:22
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/3/28 18:26:34
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/3/29 18:06:01
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/3/28 20:09:10
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57