一款强大的开源搜索引擎,能够实现在海量信息中快速检索到满足条件的数据,同时还可以实现分页,高亮显示等功能。可以日志统计分析,系统监控等。
正向索引:先通过文件名找到具体的文件,在获取文件中的内容的过程。
倒排索引(面试题)
从文件的内容查找,得到包含这些内容的文件列表,再得到文件对应的信息,如文件名、作者、文件大小、创建时间等。
1.把搜索内容根据算法进行分词,得到一个词条列表。
2.将词条列表当作key,包含该词条的文档id列表作为值,形成一张表
3、词条是唯一的,所以给词条创建索引,提高搜索效率
4、通过词条查询,得到文档ID,再通过文档ID查询到具体的文档
总结:把搜索内容根据算法进行分词,得到一个词条表【词条:文档ID】,给词条创建索引。把要搜索的内容进行分词,根据分词后的结果去词条表中根据词条进行匹配,得到文档ID,再通过文档ID返回具体的文档信息。

<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
</dependency>
<elasticsearch.version>7.12.1</elasticsearch.version>
@Configuration @Slf4j public class EsClient { @Bean public RestHighLevelClient client(){ log.warn("创建ES的Rest客户端"); return new RestHighLevelClient(RestClient.builder(HttpHost.create(ElasticSreachConstant.ES_URL))); } }

浙公网安备 33010602011771号