- 全局搜索
GET /shops_index,goods_index/_search//多索引搜索用逗号隔开或者 /_all/_search、/_search{"query": {"multi_match": {"query": "口腔",// 如果查询字段 *口腔* 则fileds 必须["goods_title.keyword^10","goods_subtitle.keyword^7"]^1表示权重"fields": ["goods_title", "title"]}}"_source": ["goods_title","title"] //查询字段} - match_all
{"query":{"match_all":{} //查询所有}} - 分页查询
{"query": {"match_all":{} //查询所有},"from":0,"size":10} - match_phrase
查询同一个字段中几个词,可以跳过其他词,slop表示可以跳过的最大词数
{"query": {"match_phrase": {"description": "He is","slop":100}}} - term 单个条件查询
(不会分词,精确匹配)一句话解释: elasticsearch 里默认的IK分词器是会将每一个中文都进行了分词的切割,所以你直接想查一整个词,或者一整句话是无返回结果的 。查询不是中文的字符串能查不出来
{"query": {"term": {"category_id": "10052", // 能查出数据//"goods_title" : "体检", 查不出来因为中文分词了,除非就一个汉字}}} - terms 多个关键字查询
"query": {"terms": {"channel_id": [102,101]}} - match 条件查询
会分词,全文检索
{"query": {"match": {"goods_title": "体检"}}}{"query": {"match": {"goods_title": {"query": "体检","operator": "and" // or 表示只要有一个分词就可以查询出来,and 表示必须包含分出来的所有字段}}}} - multi_match 多个字段检索
{"query": {"multi_match": {"query": "口腔","fields": ["goods_title","goods_subtitle"]}}} - exits 检索字段存在
{"query": {"exists": {"field": "goods_title"}}} - bool 检索
must :多个条件全部要满足;should:或者的意思,满足一个即可;must_not:除了满足所有条件剩下的数据
{"query": {"bool": {"must": [{"multi_match":{"query":"口腔","fields":["goods_title","goods_subtitle"]}},{"term":{"age":19}},{"terms": {"brand_name.keyword": ["白敬宇"] //类似in查询}}],"must_not":[{"terms": {"goods_id": [1,2,3]}}]}}} - post_filter 对结果过滤
{"query": {"match": {"goods_title": "口腔"}},"post_filter": {"range": {"selling_price": {"gte": 1000,"lte": 1500}}}} - sort 排序
{"query": {"match": {"goods_title": "口腔"}},"post_filter": {"range": {"selling_price": {"gte": 1000,"lte": 2000}}},"sort": [{"selling_price": {"order": "asc"}}],"_source": ["selling_price"]} - 修改setting
注意:修改setting需要先关闭所以,然后再开启索引
$es->indices()->close(['index' => $index]);$params_setting = ['index' => $index,'body'=> ['settings' => ['analysis' => ['analyzer' => ['ik_pinyin_analyzer' => ['type'=> 'custom','tokenizer' => 'ik_max_word','filter'=> ["my_pinyin", "word_delimiter"],]],'filter'=> ["my_pinyin" => ["type"=> "pinyin","first letter" => "prefix","padding_char" => " "]]]]]];$es->indices()->putSettings($params_setting);$es->indices()->open(['index' => $index]); - 修改mApping
PUT fit_goods_index/_mapping{"properties":{"search_title":{"type":"text"}}}// php代码$params = ['index' => $index,'body'=> ['_source'=> ['enabled' => true],'properties' => ['location'=> ['type'=> 'geo_point','ignore_malformed' => true],'completion' => ['type'=> 'completion','analyzer' => 'ik_pinyin_analyzer','fields'=> ["key" => ["type" => "keyword"],],"contexts" => [["type" => "category","name" => "plan_id"]]],]]];$es->indices()->putMapping($params);
推荐阅读
-
中国新闻网客户端|既能戏水又防溺水 山东农村少年暑期生活见闻
-
中国政库@哈尔滨4月20日起将对高三复课的教职工、学生进行核酸检测
-
-
-
-
时尚丽人风行|马思纯素颜现身观众席!发福不少状态好太多,暴瘦十斤美得不像话
-
[油皮]教你做Q弹拉丝的蛋黄酥,甜糯软酥,刷爆你的朋友圈
-
东南网|一条绿道带动乡村振兴 全国网媒记者触摸铜梁经济脉络
-
空谷幽兰育儿|很容易毁掉孩子,“我是为你好”家长别在用这句话来控制孩子了
-
苑燕儿|都离不开这三个条件,好工作就是事少钱多离家近?真正的好工作
-
「想到」这种草叫血见愁,农村处处可见,没想到这么厉害
-
灼华有实|重塑梦奇即将上线!,王者荣耀裴擒虎李小龙活动灰度开启
-
杭州出台生活垃圾分类操作指南 上线测试版分类小程序
-
安东尼·戴维斯|湖人麻烦来了!浓眉戴墨镜亮相或缺战快船,沃帅:每天评估伤势
-
人大代表崔震建议内蒙古应统筹推进沿边地区合边强边固防
-
好六网携手大硕希洛克5人团成功 到国服4人就行,DNF:一阵雨挑战极限
-
「IT之家」来了!黄仁勋 5 月 14 日发表主题演讲,“安培”GPU
-
理解|孟子的这句话影响了中国几千年,但直到今天很多人都将其理解错了
-
[甲醛]婆婆装修的婚房,全屋没有一处看得顺眼,都没勇气上厕所了
-
『水哥』怼华为有“捧哏”的了?,卢伟冰新收小弟高自光