第46讲
第47讲
第48讲
must:必须包含
should:可以满足,也可以不满足
must not:不能包含
第49讲
filter:只是按照搜索条件进行过滤
query:会计算相关度,并且还会有一个排序
filter的性能更高一些。
第50讲
range query:
filter query:
match query和term query的区别:
match是广义分词去查询的,使用了分词的方式
term是精准去查询的 ,没有使用分词的方式
exist query
最常用的是match和range
exist是elasticsearch 2.x的特性,现在不提供了。
第51讲:多搜索条件组合查询
多条件组合的时候,先放boolean,里边放must、must not、should、filter,前三个代表query
用filter单纯的过滤的时候,可以加一个constant_score
第52讲
一般用在特别庞大的API中,首先可以用validate API进行验证看是否合法。
第53讲
自己去定义就是使用sort
不想让出现null,那么可以用constant_score+filter
第54讲
首先要把之前定的索引干掉,然后重新再建索引。
title:先是分词的,分词的是用来做搜索的,要做成不分词的,不分词的是用来做排序的。
title要索引两次:第一次是分词的;第二次加上title.row做成不分词的。
不分词是为了排序的,分词是为了进行做搜索的。
这时候设置为true,这样做成正牌索引,字符串,这才可以用来进行排序。
也就是说:在搜索和排序里边,这里还是有区别的,需要区别对待的。
第55讲
之前在所搜的时候,会有一个相关度的评分,评分越高越相关。
第56讲
搜索的时候可以用倒排索引,排序的时候不可以用倒排索引。
正牌索引:
第57讲
增加replica shard可以提高吞吐量。这就是原因了。
第58讲
第59讲
第60讲
上一次搜索完成以后,需要保存“scroll_id”,在下一次搜索的时候,需要指定“scroll_id”,然后会接上上一次搜索的地址接着再进行搜索。
scroll相关的技术是分批进行搜索,每次最多会返回size条数据。
scorll看起来像分页,分页一页一页第给用户看的。scroll是一批一批地进行检索数据,让系统进行处理的。