读《深入理解Elasticsearch》点滴-改善查询相关性
1、标准查询
query
match
_all
query:"搜索字符串"
operator:or
2、多匹配查询+区分权重
query
multi_match
"query":"搜索字符串"
fields:["title^100","text^10","-all"] 针对字段进行加权
3、引入短语查询
query
bool
must
multi_match
"query":"搜索字符串"
fields:["title^100","text^10","-all"] 针对字段进行加权
should
match_phrase
title":"搜索字符串"
match_phrase
text":"搜索字符串" 连续使用两遍,面向不同字段
4、引入slop参数
should
match_phrase
title":"搜索字符串"
slop:1
match_phrase
text":"搜索字符串" 连续使用两遍,面向不同字段
slop:1
5、扔掉垃圾信息(引入过滤器)
must_not
term:
redirect:true
term:
special:true
6、引入boost(需要使用function_score)
将match_phrase包装到function_score里面
……
function_score:
boost_factore:1000,
query:
match_phrase
title:
query:"搜索字符串"
slot:1
最新文章
- windows下mongodb配置
- js正则表达式校验非正整数:^((-\d+)|(0+))$
- WebView与JS的几种交互
- phoenix将hdfs数据导入hbase
- Yii2 yii2-imagine的使用
- WPF RichTextBox设置文本颜色
- 16位cpu下主引导扇区及用户程序的编写
- Palindrome - POJ 3974 (最长回文子串,Manacher模板)
- iOS 网络与多线程--7.Performselector消息处理方法
- Ceph对象存储网关中的索引工作原理<;转>;
- Scala的XML操作
- STL 源代码分析 算法 stl_heap.h
- drupal 连表查询+分页
- SQL面试题——查询课程
- 这是一款借助chrome 插件的微信机器人
- 2.第一个python 程序
- MySQL中MyISAM和InnoDB两种主流存储引擎的特点
- python 列表返回重复数据的下标
- leetcode 2. Add Two Numbers [java]
- 20145105 《Java程序设计》实验五总结