云计算、AI、云原生、大数据等一站式技术学习平台

网站首页 > 教程文章 正文

kibana控制台dev_tools操作

jxf315 2024-12-10 16:16:33 教程文章 37 ℃

1.创建es索引,使用分词

        PUT test{           
              
          "settings":{            "number_of_shards":5,//分片        "number_of_replicas":1,//服务器台数        "analysis":{                    "analyzer":{                               "ik":{"tokenizer":"ik_max_word"}//设置分词解释器            }         }   },   "mappings":{          "properties":{                    "name":{                             "type":"text"             },            "class":{                              "type":"text"              }          }     }  }

2.插入数据

        POST /test/_doc/1{         
           "name":"西红柿",      
            "class":"水果"
        }

3.创建位置索引,根据

//地理位置

  PUT /address{           
    "mappings": {                   
            
      "properties": {                                  "name": {                                               "type": "text"                           },                          "location": {                                                 "type": "geo_point"                           }                    }             }}

4.插入地理位置坐标

 POST /address/_doc/1
{        
   "name": "广州公园前",     
    "location": "23.131479, 113.270719"
}

5.根据各个位置地点的距离匹配精确度

GET / address / _search
{    
     "query": {       
             "bool": {            
                      "filter": {                
                              "geo_distance": {                   
                                       "distance": "1km",                    
                                        "location": {                        
                                              "lat": 23.131304,                        
                                               "lon": 113.262402                    
                                        }               
                               }           
                        }       
               }   
        },    
       "sort": [ {           
               "_geo_distance": {            
                             
                 "unit": "km",             "location": {                "lat": 23.131304,              "lon": 113.262402            },            "order": "asc"          }        }      ]}

6.查看ik分词结果

GET _analyze{    
    "analyzer":"ik_max_word"    
    "text":"中华人民共和国"
}

7.批量插入数据代码来实现如php

//未指定id,使用es自动生成的id
for ($i = 0; $i < 5; $i++) 
{    
     $params['body'][] = [        
  			    'index' => [          
                     '_index' => 'testpeople',            
                     '_type' => '_doc',      
             ]   
     ];    
     $params['body'][] = [       
              'age' => 17 + $i    
     ];
 }
//如果指定id的话
for ($i = 0; $i < 5; $i++) 
{    
     $params['body'][] = [        
  			   'create' => [   #未指定id使用create创建
                '_index' => 'my_index',
                '_type' => '_doc',
                '_id' => $i
          ]  
     ];    
     $params['body'][] = [       
              'age' => 17 + $i    
     ];
 }
$ElasticSearch = new ElasticSearch();
$ElasticSearch->postBulkDoc($params);

7.删除操作

//批量删除
DELETE testpeople/_doc/delete_by_query
{   
  "query":{    
    "match_all":{}  
  }  
}
//单个删除,根据id删除
DELETE testpeople/_doc/1
最近发表
标签列表