OpenSearch初探
简介
OpenSearch 是一个开源的搜索和分析引擎,它是从 Elasticsearch 分支出来的一个项目。为了更好地理解 OpenSearch 的起源,我们需要了解 Elasticsearch 的历史。
Elasticsearch 最初是由 Shay Banon 在 2010 年创建的,它是一个基于 Apache Lucene 的分布式搜索引擎。Elasticsearch 提供了一个分布式、可扩展和高性能的搜索和分析平台,可以用于处理大规模的数据。
然而,随着时间的推移,Elasticsearch 的开发方向和治理模式引发了一些争议。一些社区成员对 Elasticsearch 的商业化方向和开源治理模式提出了担忧,认为 Elasticsearch 的发展可能不再符合开源社区的利益。
作为对这些担忧的回应,一群开源社区的成员决定分支出 Elasticsearch,并创建了一个完全开源和社区驱动的搜索和分析引擎,即 OpenSearch。OpenSearch 的目标是提供一个开放和透明的搜索解决方案,以满足用户和开发者的需求。
OpenSearch 继承了 Elasticsearch 的核心功能,包括分布式搜索、实时数据分析、可扩展性和高性能等特性。它还提供了一些新的功能和改进,以满足用户的需求,并保持与 Elasticsearch 的兼容性。
OpenSearch 的开发和治理是由一个开放的社区进行的,社区成员可以参与讨论、贡献代码和提出改进建议。这种开放的模式旨在确保 OpenSearch 的发展和决策过程具有透明性和民主性。
总而言之,OpenSearch 是从 Elasticsearch 分支出来的一个开源搜索和分析引擎,旨在提供一个开放、透明和社区驱动的解决方案。它继承了 Elasticsearch 的核心功能,并通过社区的合作和贡献来推动其发展。
查询
不论是ES还是OpenSearch,他最核心的功能就是分词匹配,也就是检索功能,例如电商产品、新闻资讯、法律法规条目等都是其适合的对象。
term查询
term查询模式是全匹配,也就是所谓的不进行分词
match
match查询时分词匹配。
分词
文本类型在建立索引的时候有text和keyword类型,text类型默认是分词的,如果要设置不分词,需要配置index属性为false。
PUT your_index
{
"mappings": {
"properties": {
"your_field": {
"type": "text",
"index": false
}
}
}
}
查询总数10000条限制
为了保证性能,opensearch默认总数限制为10000条,这样会导致分页查询总数返回最多为10000,可以通过yaml文件进行修改。