ekser软件使用 Elasticsearch进行检索。Elasticsearch是一个基于Lucene的开源搜索和分析引擎,它提供了一个分布式、多租户的全文搜索引擎,具有HTTP Web界面和基于JSON的文档。以下是一些基本的检索方法:
简单搜索
match_all:查询所有文档,结果默认按相关性得分排序,并支持分页。
term查询:根据精确的词项查询指定字段中的文档,适用于人名、地名等精确匹配的场景。
分页:通过`from`和`size`参数进行分页,`from`指定从第几条开始,`size`指定返回多少条数据。
过滤返回字段:通过指定返回的字段,只返回用户需要的数据。
最小评分:设置一个最低得分阈值,只有得分高于该阈值的文档才会被返回。
高亮:对匹配的关键词进行高亮显示。
复杂搜索
布尔查询:结合多个查询条件,使用`bool`操作符(如`must`、`should`、`must_not`)来组合查询结果。
范围查询:根据字段的数值范围进行查询,如日期范围、价格范围等。
模糊查询:使用`match`或`match_phrase`进行模糊匹配,支持部分匹配。
通配符查询:使用` wildcard`、`prefix`、`suffix`等通配符进行模式匹配。
聚合分析
统计聚合:使用`terms`、`histogram`等聚合函数对数据进行分组和统计。
嵌套聚合:使用`nested`聚合对嵌套对象进行聚合分析。
在使用ekser进行检索时,可以通过配置索引映射、设置查询参数以及使用聚合功能来实现复杂的搜索和分析需求。建议在实际应用中根据具体需求选择合适的查询方法和参数设置,以获得最佳搜索效果。