前面介绍了OpenSearch的基本使用(使用OpenSearch为应用提供搜索功能),一个小型的搜索服务很容易搭建。但具体应用到某个业务时,可能我们对默认的搜索结果并不满意,这里介绍下OpenSearch在搜索结果的调优方面提供的方法。
调优入口
使用OpenSearch时,要影响搜索结果,可以在两个地方下功夫。
查询
一条OpenSearch查询语句可以包含多种形式的子句,除了最核心的必选query子句之外,其它可选的子句类型也可以从不同的维度影响搜索结果。子句类型有:query、config、sort、filter、distinct、kvpairs、aggregate几种。
1、在query子句中,通过()、AND、OR、对关键词进行组合,使用ANDNOT对关键词进行排除。使用RANK对关键词顺序进行调优。
//搜索“鼻炎”相关的文章,同时过滤掉“过敏性鼻炎”的文章,如果标题中包含鼻炎,则在搜索结果中排在前面。
query=(default:'鼻炎' ANDNOT default:'过敏性鼻炎' ANDNOT title:'过敏性鼻炎'