elasticsearch打分策略的示例分析
在elasticsearch中,打分策略可以通过设置query string来实现。例如,在搜索的时候可以使用如下的打分策略:
"query": { "query_string": { "fields": [ "title", "content" ], "query": "搜索的关键词", "default_operator": "and", "minimum_should_match": "80%", "boost": 2 } }
上面的示例中,我们设置了两个参数:
· fields:表示要在哪些字段中进行搜索;
· query:表示搜索的关键词;
· default_operator:表示默认的搜索方式,这里设置为and表示要求所有的关键词都必须出现;
· minimum_should_match:表示至少匹配的关键词数,这里设置为80%表示至少要求4个关键词出现;
· boost:表示对搜索结果的评分,数值越大表示评分越高。
除了上面的参数之外,还可以设置其他的参数来影响打分策略,例如:
· tie_breaker:表示当有多个字段匹配的时候,使用该参数来计算最终的评分;
· boost_terms:表示对匹配到的关键词进行评分;
· analyze_wildcard:表示是否对通配符进行分析;
· max_determinized_states:表示最多允许的状态数。
通过设置不同的参数,我们可以实现不同的打分策略,从而更加精确地搜索到我们想要的结果。
相关文章