| 
									
										
										
										
											2013-06-15 14:18:48 +08:00
										 |  |  | // Copyright 2013 Belogik. All rights reserved.
 | 
					
						
							|  |  |  | // Use of this source code is governed by a BSD-style
 | 
					
						
							|  |  |  | // license that can be found in the LICENSE file.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | package goes_test | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import ( | 
					
						
							|  |  |  | 	"fmt" | 
					
						
							| 
									
										
										
										
											2014-01-12 00:57:32 +08:00
										 |  |  | 	"github.com/belogik/goes" | 
					
						
							| 
									
										
										
										
											2013-06-15 14:18:48 +08:00
										 |  |  | 	"net/url" | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func ExampleConnection_CreateIndex() { | 
					
						
							|  |  |  | 	conn := goes.NewConnection("localhost", "9200") | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	mapping := map[string]interface{}{ | 
					
						
							|  |  |  | 		"settings": map[string]interface{}{ | 
					
						
							|  |  |  | 			"index.number_of_shards":   1, | 
					
						
							|  |  |  | 			"index.number_of_replicas": 0, | 
					
						
							|  |  |  | 		}, | 
					
						
							|  |  |  | 		"mappings": map[string]interface{}{ | 
					
						
							|  |  |  | 			"_default_": map[string]interface{}{ | 
					
						
							|  |  |  | 				"_source": map[string]interface{}{ | 
					
						
							|  |  |  | 					"enabled": true, | 
					
						
							|  |  |  | 				}, | 
					
						
							|  |  |  | 				"_all": map[string]interface{}{ | 
					
						
							|  |  |  | 					"enabled": false, | 
					
						
							|  |  |  | 				}, | 
					
						
							|  |  |  | 			}, | 
					
						
							|  |  |  | 		}, | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	resp, err := conn.CreateIndex("test", mapping) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	if err != nil { | 
					
						
							|  |  |  | 		panic(err) | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	fmt.Printf("%s", resp) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func ExampleConnection_DeleteIndex() { | 
					
						
							|  |  |  | 	conn := goes.NewConnection("localhost", "9200") | 
					
						
							|  |  |  | 	resp, err := conn.DeleteIndex("yourinde") | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	if err != nil { | 
					
						
							|  |  |  | 		panic(err) | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	fmt.Printf("%s", resp) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func ExampleConnection_RefreshIndex() { | 
					
						
							|  |  |  | 	conn := goes.NewConnection("localhost", "9200") | 
					
						
							|  |  |  | 	resp, err := conn.RefreshIndex("yourindex") | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	if err != nil { | 
					
						
							|  |  |  | 		panic(err) | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	fmt.Printf("%s", resp) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func ExampleConnection_Search() { | 
					
						
							|  |  |  | 	conn := goes.NewConnection("localhost", "9200") | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	var query = map[string]interface{}{ | 
					
						
							|  |  |  | 		"query": map[string]interface{}{ | 
					
						
							|  |  |  | 			"bool": map[string]interface{}{ | 
					
						
							|  |  |  | 				"must": map[string]interface{}{ | 
					
						
							|  |  |  | 					"match_all": map[string]interface{}{}, | 
					
						
							|  |  |  | 				}, | 
					
						
							|  |  |  | 			}, | 
					
						
							|  |  |  | 		}, | 
					
						
							|  |  |  | 		"from":   0, | 
					
						
							|  |  |  | 		"size":   100, | 
					
						
							|  |  |  | 		"fields": []string{"onefield"}, | 
					
						
							|  |  |  | 		"filter": map[string]interface{}{ | 
					
						
							|  |  |  | 			"range": map[string]interface{}{ | 
					
						
							|  |  |  | 				"somefield": map[string]interface{}{ | 
					
						
							|  |  |  | 					"from":          "some date", | 
					
						
							|  |  |  | 					"to":            "some date", | 
					
						
							|  |  |  | 					"include_lower": false, | 
					
						
							|  |  |  | 					"include_upper": false, | 
					
						
							|  |  |  | 				}, | 
					
						
							|  |  |  | 			}, | 
					
						
							|  |  |  | 		}, | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	searchResults, err := conn.Search(query, []string{"someindex"}, []string{""}) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	if err != nil { | 
					
						
							|  |  |  | 		panic(err) | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	fmt.Printf("%s", searchResults) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func ExampleConnection_Index() { | 
					
						
							|  |  |  | 	conn := goes.NewConnection("localhost", "9200") | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	d := goes.Document{ | 
					
						
							|  |  |  | 		Index: "twitter", | 
					
						
							|  |  |  | 		Type:  "tweet", | 
					
						
							|  |  |  | 		Fields: map[string]interface{}{ | 
					
						
							|  |  |  | 			"user":    "foo", | 
					
						
							|  |  |  | 			"message": "bar", | 
					
						
							|  |  |  | 		}, | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	extraArgs := make(url.Values, 1) | 
					
						
							|  |  |  | 	extraArgs.Set("ttl", "86400000") | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	response, err := conn.Index(d, extraArgs) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	if err != nil { | 
					
						
							|  |  |  | 		panic(err) | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	fmt.Printf("%s", response) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func ExampleConnection_Delete() { | 
					
						
							|  |  |  | 	conn := goes.NewConnection("localhost", "9200") | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	//[create index, index document ...]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	d := goes.Document{ | 
					
						
							|  |  |  | 		Index: "twitter", | 
					
						
							|  |  |  | 		Type:  "tweet", | 
					
						
							| 
									
										
										
										
											2014-01-12 00:57:32 +08:00
										 |  |  | 		Id:    "1", | 
					
						
							| 
									
										
										
										
											2013-06-15 14:18:48 +08:00
										 |  |  | 		Fields: map[string]interface{}{ | 
					
						
							|  |  |  | 			"user": "foo", | 
					
						
							|  |  |  | 		}, | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	response, err := conn.Delete(d, url.Values{}) | 
					
						
							|  |  |  | 	if err != nil { | 
					
						
							|  |  |  | 		panic(err) | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	fmt.Printf("%s", response) | 
					
						
							|  |  |  | } |