ElasticSearch at berlinbuzzwords 2010

14,348 views

Published on

berlinbuzzwords presentation of elasticsearch

Published in: Technology, Education
4 Comments
42 Likes
Statistics
Notes
No Downloads
Views
Total views
14,348
On SlideShare
0
From Embeds
0
Number of Embeds
878
Actions
Shares
0
Downloads
510
Comments
4
Likes
42
Embeds 0
No embeds

No notes for slide


















































































































































































  • ElasticSearch at berlinbuzzwords 2010

    1. 1. You Know, For Search
    2. 2. lightning talk
    3. 3. lightning talk kick ass
    4. 4. lightning talk kick ass ~joke
    5. 5. ping 127.0.0.1
    6. 6. ping 127.0.0.1 icmq_seq=0 name=shay.banon
    7. 7. ping 127.0.0.1 icmq_seq=0 name=shay.banon icmq_seq=1 a.k.a=kimchy
    8. 8. ping 127.0.0.1 icmq_seq=0 name=shay.banon icmq_seq=1 a.k.a=kimchy icmq_seq=2 blog=http://kimchy.org
    9. 9. ping 127.0.0.1 icmq_seq=0 name=shay.banon icmq_seq=1 a.k.a=kimchy icmq_seq=2 blog=http://kimchy.org icmq_seq=3 twitter=kimchy
    10. 10. ping elasticsearch
    11. 11. ping elasticsearch icmq_seq=0 tag=open_source (apache)
    12. 12. ping elasticsearch icmq_seq=0 tag=open_source (apache) icmq_seq=1 tag=distributed
    13. 13. ping elasticsearch icmq_seq=0 tag=open_source (apache) icmq_seq=1 tag=distributed icmq_seq=2 tag=RESTful
    14. 14. ping elasticsearch icmq_seq=0 tag=open_source (apache) icmq_seq=1 tag=distributed icmq_seq=2 tag=RESTful icmq_seq=3 tag=(no_sql) search_engine
    15. 15. ping elasticsearch icmq_seq=0 tag=open_source (apache) icmq_seq=1 tag=distributed icmq_seq=2 tag=RESTful icmq_seq=3 tag=(no_sql) search_engine icmq_seq=4 site=http://www.elasticsearch.com
    16. 16. open_source
    17. 17. open_source apache_2
    18. 18. open_source apache_2 http://github.com/elasticsearch/elasticsearch
    19. 19. open_source apache_2 http://github.com/elasticsearch/elasticsearch fork, push, send_pull
    20. 20. your_data
    21. 21. your_data => your_search
    22. 22. your_data => your_search a product should natively talk the domain model
    23. 23. your_data => your_search a product should natively talk the domain model and not the other way around
    24. 24. recipes for good domain model language
    25. 25. recipes for good domain model language - document_oriented
    26. 26. recipes for good domain model language - document_oriented - schema free
    27. 27. recipes for good domain model language - document_oriented - schema free - include json
    28. 28. recipes for good domain model language - document_oriented - schema free - include json de_facto open_web standard
    29. 29. lets build ourself an amazon store
    30. 30. lets build ourself an amazon store (we will get to the cloud laters)
    31. 31. first thing we have are books
    32. 32. this is how they look like { "book" : { "isbn" : "0812504321", "name" : "Call of the Wild", "author" : { "first_name" : "Jack", "last_name" : "London" }, "pages" : 128, "tag" : ["fiction", "children"] } }
    33. 33. lets index it $ curl -XPUT host:9200/amazon/book/0812504321 -d ‘ { "book" : { "isbn" : "0812504321", "name" : "Call of the Wild", "author" : { "first_name" : "Jack", "last_name" : "London" }, "pages" : 128, "tag" : ["fiction", "children"] } } ‘
    34. 34. ... `amazon` is the _index name $ curl -XPUT host:9200/amazon/book/0812504321 -d ‘ { "book" : { "isbn" : "0812504321", "name" : "Call of the Wild", "author" : { "first_name" : "Jack", "last_name" : "London" }, "pages" : 128, "tag" : ["fiction", "children"] } } ‘
    35. 35. ... `book` is the _type $ curl -XPUT host:9200/amazon/book/0812504321 -d ‘ { "book" : { "isbn" : "0812504321", "name" : "Call of the Wild", "author" : { "first_name" : "Jack", "last_name" : "London" }, "pages" : 128, "tag" : ["fiction", "children"] } } ‘
    36. 36. ... `0812504321` is the _id $ curl -XPUT host:9200/amazon/book/0812504321 -d ‘ { "book" : { "isbn" : "0812504321", "name" : "Call of the Wild", "author" : { "first_name" : "Jack", "last_name" : "London" }, "pages" : 128, "tag" : ["fiction", "children"] } } ‘
    37. 37. search for all fiction books $ curl -XGET host:9200/amazon/book/_search?q=tag:fiction‘
    38. 38. search for all fiction books $ curl -XGET host:9200/amazon/book/_search?q=tag:fiction‘ {"_shards":{"total":5,"successful":5,"failed":0},"hits":{"total":1,"hits": [{"_index":"amazon","_type":"book","_id":"0812504321", "_source" : { "book" : { "isbn" : "0812504321", "name" : "Call of the Wild", "author" : { "first_name" : "Jack", "last_name" : "London" }, "pages" : 128, "tag" : ["fiction", "children"] } }}]}}
    39. 39. ... number of total hits $ curl -XGET host:9200/amazon/book/_search?q=tag:fiction‘ {"_shards":{"total":5,"successful":5,"failed":0},"hits":{"total":1,"hits": [{"_index":"amazon","_type":"book","_id":"0812504321", "_source" : { "book" : { "isbn" : "0812504321", "name" : "Call of the Wild", "author" : { "first_name" : "Jack", "last_name" : "London" }, "pages" : 128, "tag" : ["fiction", "children"] } }}]}}
    40. 40. ... each hit has the `_index` it came from $ curl -XGET host:9200/amazon/book/_search?q=tag:fiction‘ {"_shards":{"total":5,"successful":5,"failed":0},"hits":{"total":1,"hits": [{"_index":"amazon","_type":"book","_id":"0812504321", "_source" : { "book" : { "isbn" : "0812504321", "name" : "Call of the Wild", "author" : { "first_name" : "Jack", "last_name" : "London" }, "pages" : 128, "tag" : ["fiction", "children"] } }}]}}
    41. 41. ... each hit has the `_type` it belongs to $ curl -XGET host:9200/amazon/book/_search?q=tag:fiction‘ {"_shards":{"total":5,"successful":5,"failed":0},"hits":{"total":1,"hits": [{"_index":"amazon","_type":"book","_id":"0812504321", "_source" : { "book" : { "isbn" : "0812504321", "name" : "Call of the Wild", "author" : { "first_name" : "Jack", "last_name" : "London" }, "pages" : 128, "tag" : ["fiction", "children"] } }}]}}
    42. 42. ... each hit has its `_id` $ curl -XGET host:9200/amazon/book/_search?q=tag:fiction‘ {"_shards":{"total":5,"successful":5,"failed":0},"hits":{"total":1,"hits": [{"_index":"amazon","_type":"book","_id":"0812504321", "_source" : { "book" : { "isbn" : "0812504321", "name" : "Call of the Wild", "author" : { "first_name" : "Jack", "last_name" : "London" }, "pages" : 128, "tag" : ["fiction", "children"] } }}]}}
    43. 43. ... each hit has the actual _source document $ curl -XGET host:9200/amazon/book/_search?q=tag:fiction‘ {"_shards":{"total":5,"successful":5,"failed":0},"hits":{"total":1,"hits": [{"_index":"amazon","_type":"book","_id":"0812504321", "_source" : { "book" : { "isbn" : "0812504321", "name" : "Call of the Wild", "author" : { "first_name" : "Jack", "last_name" : "London" }, "pages" : 128, "tag" : ["fiction", "children"] } }}]}}
    44. 44. ... each hit has the actual _source document $ curl -XGET host:9200/amazon/book/_search?q=tag:fiction‘ {"_shards":{"total":5,"successful":5,"failed":0},"hits":{"total":1,"hits": [{"_index":"amazon","_type":"book","_id":"0812504321", "_source" : { "book" : { "isbn" : "0812504321", "name" : "Call of the Wild", "author" : { "first_name" : "Jack", (can be disabled) "last_name" : "London" }, "pages" : 128, "tag" : ["fiction", "children"] } }}]}}
    45. 45. next, we have cds { "cd" : { "asin" : "B00192IV0O", "name" : "THE E.N.D. (Energy Never Dies)", "artist" : "Black Eyed Peas", "label" : "Interscope", "release_date": "2009-06-09", "tag" : ["hip-hop", "pop-rap"] } }
    46. 46. lets index it as well $ curl -XPUT host:9200/amazon/cd/B00192IV0O -d ‘ { "cd" : { "asin" : "B00192IV0O", "name" : "THE E.N.D. (Energy Never Dies)", "artist" : "Black Eyed Peas", "label" : "Interscope", "release_date": "2009-06-09", "tag" : ["hip-hop", "pop-rap"] } } ‘
    47. 47. ... same _index, `amazon` $ curl -XPUT host:9200/amazon/cd/B00192IV0O -d ‘ { "cd" : { "asin" : "B00192IV0O", "name" : "THE E.N.D. (Energy Never Dies)", "artist" : "Black Eyed Peas", "label" : "Interscope", "release_date": "2009-06-09", "tag" : ["hip-hop", "pop-rap"] } } ‘
    48. 48. ... new _type, `cd` $ curl -XPUT host:9200/amazon/cd/B00192IV0O -d ‘ { "cd" : { "asin" : "B00192IV0O", "name" : "THE E.N.D. (Energy Never Dies)", "artist" : "Black Eyed Peas", "label" : "Interscope", "release_date": "2009-06-09", "tag" : ["hip-hop", "pop-rap"] } } ‘
    49. 49. search for all hip-hop cds $ curl -XGET host:9200/amazon/cd/_search?q=tag:hip-hop‘
    50. 50. search across _type(s)
    51. 51. search across _type(s) search on both `cd` and `book` using `name` $ curl -XGET ‘host:9200/amazon/cd,book/_search?q=name:call’
    52. 52. search across _type(s) search on both `cd` and `book` using `name` $ curl -XGET ‘host:9200/amazon/cd,book/_search?q=name:call’ search on `_all` types using `name` $ curl -XGET ‘host:9200/amazon/_search?q=name:call’
    53. 53. search across _type(s) search on both `cd` and `book` using `name` $ curl -XGET ‘host:9200/amazon/cd,book/_search?q=name:call’ search on `_all` types using `name` $ curl -XGET ‘host:9200/amazon/_search?q=name:call’ search on specific fields types $ curl -XGET ‘host:9200/amazon/_search?q=book.author.first_name:jack OR cd.artist:jack‘
    54. 54. book and cd can be indices as well $ curl -XPUT host:9200/book/info/0812504321 -d ‘ { "isbn" : "0812504321", "name" : "Call of the Wild", "author" : { "first_name" : "Jack", "last_name" : "London" }, "pages" : 128, "tag" : ["fiction", "children"] } ‘
    55. 55. ... `book` is now the _index $ curl -XPUT host:9200/book/info/0812504321 -d ‘ { "isbn" : "0812504321", "name" : "Call of the Wild", "author" : { "first_name" : "Jack", "last_name" : "London" }, "pages" : 128, "tag" : ["fiction", "children"] } ‘
    56. 56. ... `info` is the _type $ curl -XPUT host:9200/book/info/0812504321 -d ‘ { "isbn" : "0812504321", "name" : "Call of the Wild", "author" : { "first_name" : "Jack", "last_name" : "London" }, "pages" : 128, "tag" : ["fiction", "children"] } ‘
    57. 57. cd is an index as well $ curl -XPUT host:9200/cd/info/B00192IV0O -d ‘ { "asin" : "B00192IV0O", "name" : "THE E.N.D. (Energy Never Dies)", "artist" : "Black Eyed Peas", "label" : "Interscope", "release_date": "2009-06-09", "tag" : ["hip-hop", "pop-rap"] } ‘
    58. 58. search across _index(es)
    59. 59. search across _index(es) search on both `cd` and `book` using `name` $ curl -XGET ‘host:9200/cd,book/info/_search?q=name:call’
    60. 60. search across _index(es) search on both `cd` and `book` using `name` $ curl -XGET ‘host:9200/cd,book/info/_search?q=name:call’ search on `_all` indices using `name` $ curl -XGET ‘host:9200/_search?q=name:call’
    61. 61. query_dsl
    62. 62. query_dsl done with the your_data part
    63. 63. query_dsl done with the your_data part => now to the your_search part
    64. 64. ... term_query { “term” : { “name” : “call” } }
    65. 65. ... term_query, also with type { “term” : { “name” : “call” } } { “term” : { “book.name” : “call” } }
    66. 66. ... range_query { “range” : { “pages” : { “from” : 200, “to” : 300 } } }
    67. 67. ... range_query, also with type { “range” : { “pages” : { “from” : 200, “to” : 300 } } } { “range” : { “book.pages” : { “from” : 200, “to” : 300 } } }
    68. 68. ... many more queries { “prefix” : { “book.name” : “ca” } }
    69. 69. ... many more queries { “prefix” : { “book.name” : “ca” } } { “wildcard” : { “book.name” : “c*ll” } }
    70. 70. ... many more queries { “prefix” : { { “book.name” : “ca” “field” : { } “book.name” : “+call +wild” } } { } “wildcard” : { “book.name” : “c*ll” } }
    71. 71. ... many more queries { “prefix” : { { “book.name” : “ca” “field” : { } “book.name” : “+call +wild” } } { } “wildcard” : { “book.name” : “c*ll” } } { “query_string” : { “query” : “+call +wild” } }
    72. 72. ... and, of course, bool_query { “bool” : { “must” : [ { “field” : { “book.name” : “+call +wild” } }, { “range” : { “book.pages” : { “gte” : 200 } } } ], “must_not” : [ { “term” : { “book.author.first_name” : “jack” } } ], “should” : [ { “term” : { “book.author.last_name” : “london” } } ] } }
    73. 73. filters faster than queries
    74. 74. filters faster than queries no scoring
    75. 75. filters faster than queries no scoring cached for even faster access
    76. 76. ... sample filters (wrapped as constant_score query) { “constant_score” : { “filter” : { “term” : { “name” : “call” } } } }
    77. 77. ... sample filters (wrapped as constant_score query) { “constant_score” : { “filter” : { “term” : { { “name” : “call” “constant_score” : { } “filter” : { } “range” : { } “book.pages” : { } “from” : 100, “to” : 200 } } } } }
    78. 78. ... easily combined with queries { “filtered” : { “query” : { “query_string” : { “query” : “+call +wild” } } “filter” : { “range” : { “book.pages” : { “from” : 100, “to” : 200 } } } } }
    79. 79. ... easily combined with queries { “filtered” : { “query” : { “query_string” : { “query” : “+call +wild” } } “filter” : { “range” : { “book.pages” : { “from” : 100, “to” : 200 } } } } }
    80. 80. ... easily combined with queries { “filtered” : { “query” : { “query_string” : { “query” : “+call +wild” } } “filter” : { “range” : { “book.pages” : { “from” : 100, “to” : 200 } } } } }
    81. 81. ... easily combined with queries { “filtered” : { “query” : { “query_string” : { “query” : “+call +wild” } } “filter” : { “range” : { “book.pages” : { “from” : 100, “to” : 200 } } } } }
    82. 82. used in a search request $ curl -XPOST ‘host:9200/amazon/cd/_search‘ -d ‘ { “query” : { “field” : { “name” : “+call + wild” } } } ‘
    83. 83. other search features
    84. 84. other search features highlighting
    85. 85. other search features highlighting facets
    86. 86. other search features highlighting retrieve specific fields facets
    87. 87. other search features highlighting retrieve specific fields facets _all field
    88. 88. other search features highlighting retrieve specific fields facets _all field scrolling
    89. 89. distributed
    90. 90. automatic shard allocation
    91. 91. ... start 1st node node 1
    92. 92. ... create an index with 2 shards, 1 replica node 1 PUT /amazon { “index.number_of_shards” : 2, “index.number_of_replicas” : 1 }
    93. 93. ... create an index with 2 shards, 1 replica node 1 1 PUT /amazon { “index.number_of_shards” : 2, “index.number_of_replicas” : 1 }
    94. 94. ... create an index with 2 shards, 1 replica node 1 1 2 PUT /amazon { “index.number_of_shards” : 2, “index.number_of_replicas” : 1 }
    95. 95. ... start 2nd node node 1 node 2 1 1 2 2
    96. 96. ... start 3rd and 4th node 1 node 2 node 3 node 4 1 1 2 2
    97. 97. ... index a document node 1 node 2 node 3 node 4 1 1 2 2 PUT /amazon/book/1 { ... }
    98. 98. ... index a document => hashed to 1st shard node 1 node 2 node 3 node 4 1 1 2 2 PUT /amazon/book/1 { ... }
    99. 99. ... index a document => replicated node 1 node 2 node 3 node 4 1 1 2 2 PUT /amazon/book/1 { ... }
    100. 100. ... index another document node 1 node 2 node 3 node 4 1 1 2 2 PUT /amazon/book/2 { ... }
    101. 101. ... index another document => hashed to 2nd shard node 1 node 2 node 3 node 4 1 1 2 2 PUT /amazon/book/2 { ... }
    102. 102. ... index another document => replicated node 1 node 2 node 3 node 4 1 1 2 2 PUT /amazon/book/2 { ... }
    103. 103. search node 1 node 2 node 3 node 4 1 1 2 2 GET /amazon/_search?q=name:call
    104. 104. search => scatter node 1 node 2 node 3 node 4 1 1 2 2 GET /amazon/_search?q=name:call
    105. 105. search => gather node 1 node 2 node 3 node 4 1 1 2 2 GET /amazon/_search?q=name:call
    106. 106. create another index node 1 node 2 node 3 node 4 1 1 2 2 PUT /amazon2 { “index.number_of_shards” : 1, “index.number_of_replicas” : 1 }
    107. 107. create another index node 1 node 2 node 3 node 4 1 1 1 1 2 2 PUT /amazon2 { “index.number_of_shards” : 1, “index.number_of_replicas” : 1 }
    108. 108. create another index node 1 node 2 node 3 node 4 1 1 1 1 2 2 almost all settings are index based
    109. 109. per document consistency
    110. 110. per document consistency - you index it, its there
    111. 111. per document consistency - you index it, its there - no need to commit / flush
    112. 112. per document consistency - you index it, its there - no need to commit / flush - uses a transaction log
    113. 113. (near) real_time search
    114. 114. (near) real_time search - automatic, 1 second refresh rate
    115. 115. (near) real_time search - automatic, 1 second refresh rate - there’s an api for that
    116. 116. (near) real_time search - automatic, 1 second refresh rate - there’s an api for that - POST /_refresh
    117. 117. long_term persistency
    118. 118. long_term persistency - similar to apple time_machine
    119. 119. long_term persistency - similar to apple time_machine - or data_grid write_behind
    120. 120. long_term persistency - similar to apple time_machine - or data_grid write_behind - write changes to index / translog
    121. 121. long_term persistency - similar to apple time_machine - or data_grid write_behind - write changes to index / translog - to a shared persistent storage
    122. 122. long_term persistency - similar to apple time_machine - or data_grid write_behind - write changes to index / translog - to a shared persistent storage - asynchronously (reliable)
    123. 123. long_term persistency - similar to apple time_machine - or data_grid write_behind - write changes to index / translog - to a shared persistent storage - asynchronously (reliable) - low requirements from storage
    124. 124. long_term persistency - similar to apple time_machine - or data_grid write_behind - write changes to index / translog - to a shared persistent storage - asynchronously (reliable) - low requirements from storage - cluster meta_data persisted
    125. 125. long_term persistency ... storage options
    126. 126. long_term persistency ... storage options - shared file system
    127. 127. long_term persistency ... storage options - shared file system - no need for locking, etc ...
    128. 128. long_term persistency ... storage options - shared file system - no need for locking, etc ... - hadoop, using HDFS
    129. 129. long_term persistency ... storage options - shared file system - no need for locking, etc ... - hadoop, using HDFS - cloud (aws_s3, rackspace_cloud_files)
    130. 130. long_term persistency ... node storage
    131. 131. long_term persistency ... node storage - considered transient
    132. 132. long_term persistency ... node storage - considered transient - can be recovered from gateway
    133. 133. long_term persistency ... node storage - considered transient - can be recovered from gateway - can be stored on
    134. 134. long_term persistency ... node storage - considered transient - can be recovered from gateway - can be stored on - local file system
    135. 135. long_term persistency ... node storage - considered transient - can be recovered from gateway - can be stored on - local file system - heap (jvm) memory
    136. 136. long_term persistency ... node storage - considered transient - can be recovered from gateway - can be stored on - local file system - heap (jvm) memory - native (os) memory
    137. 137. long_term persistency ... node storage - considered transient - can be recovered from gateway - can be stored on - local file system - heap (jvm) memory - native (os) memory - fs & memory combination
    138. 138. native cloud support
    139. 139. native cloud support in the cloud
    140. 140. native cloud support in the cloud machine removed / added more dynamically
    141. 141. native cloud support in the cloud machine removed / added more dynamically machine fail more “dynamically”
    142. 142. native cloud support in the cloud machine removed / added more dynamically machine fail more “dynamically” local storage is wiped
    143. 143. native cloud support ... storage
    144. 144. native cloud support ... storage - local storage is wiped
    145. 145. native cloud support ... storage - local storage is wiped - use external storage (aws ebs)
    146. 146. native cloud support ... storage - local storage is wiped - use external storage (aws ebs) - needs to be per machine / shard
    147. 147. native cloud support ... storage - local storage is wiped - use external storage (aws ebs) - needs to be per machine / shard - can get wiped as well ...
    148. 148. native cloud support ... storage - local storage is wiped - use external storage (aws ebs) - needs to be per machine / shard - can get wiped as well ... - mmm..., ok, snapshot to aws s3
    149. 149. native cloud support ... storage - local storage is wiped - use external storage (aws ebs) - needs to be per machine / shard - can get wiped as well ... - mmm..., ok, snapshot to aws s3 - expensive => ebs & s3
    150. 150. native cloud support ... storage - local storage is wiped - use external storage (aws ebs) - needs to be per machine / shard - can get wiped as well ... - mmm..., ok, snapshot to aws s3 - expensive => ebs & s3 - snapshot interval problematic
    151. 151. native cloud support ... storage - local storage is wiped - use external storage (aws ebs) - needs to be per machine / shard - can get wiped as well ... - mmm..., ok, snapshot to aws s3 - expensive => ebs & s3 - snapshot interval problematic
    152. 152. native cloud support ... the elastic way
    153. 153. native cloud support ... the elastic way - use long term persistency
    154. 154. native cloud support ... the elastic way - use long term persistency - directly into cloud blob storage
    155. 155. native cloud support ... the elastic way - use long term persistency - directly into cloud blob storage - aws s3, rackspace cloud_files
    156. 156. native cloud support ... the elastic way - use long term persistency - directly into cloud blob storage - aws s3, rackspace cloud_files
    157. 157. native cloud support ... the elastic way - use long term persistency - directly into cloud blob storage - aws s3, rackspace cloud_files - reliable & asynchronous
    158. 158. native cloud support ... discovery
    159. 159. native cloud support ... discovery - no multicast
    160. 160. native cloud support ... discovery - no multicast - resort to unicast discovery
    161. 161. native cloud support ... discovery - no multicast - resort to unicast discovery - who’s my special nodes ...
    162. 162. native cloud support ... discovery - no multicast - resort to unicast discovery - who’s my special nodes ... - require persistent ip’s
    163. 163. native cloud support ... discovery - no multicast - resort to unicast discovery - who’s my special nodes ... - require persistent ip’s - complicate operations
    164. 164. native cloud support ... the elastic way
    165. 165. native cloud support ... the elastic way - discovery support multicast & unicast
    166. 166. native cloud support ... the elastic way - discovery support multicast & unicast - but also support cloud discovery
    167. 167. native cloud support ... the elastic way - discovery support multicast & unicast - but also support cloud discovery - use cloud_provider API
    168. 168. native cloud support ... the elastic way - discovery support multicast & unicast - but also support cloud discovery - use cloud_provider API - ... to get the current list of nodes
    169. 169. ping end_session
    170. 170. ping end_session icmq_seq=0 desc=brief overview of elasticsearch
    171. 171. ping end_session icmq_seq=0 desc=brief overview of elasticsearch icmq_seq=1 version=current version is 0.8
    172. 172. ping end_session icmq_seq=0 desc=brief overview of elasticsearch icmq_seq=1 version=current version is 0.8 icmq_seq=2 notice=is beta
    173. 173. ping end_session icmq_seq=0 desc=brief overview of elasticsearch icmq_seq=1 version=current version is 0.8 icmq_seq=2 notice=is beta so expect bugs ...
    174. 174. ping end_session icmq_seq=0 desc=brief overview of elasticsearch icmq_seq=1 version=current version is 0.8 icmq_seq=2 notice=is beta so expect bugs ... they are actively fixed
    175. 175. ping end_session icmq_seq=0 desc=brief overview of elasticsearch icmq_seq=1 version=current version is 0.8 icmq_seq=2 notice=is beta so expect bugs ... they are actively fixed as new features are being added
    176. 176. ping end_session icmq_seq=0 desc=brief overview of elasticsearch icmq_seq=1 version=current version is 0.8 icmq_seq=2 notice=is beta so expect bugs ... they are actively fixed as new features are being added icmq_seq=3 join=mailing list, suggestions, code
    177. 177. ping end_session icmq_seq=0 desc=brief overview of elasticsearch icmq_seq=1 version=current version is 0.8 icmq_seq=2 notice=is beta so expect bugs ... they are actively fixed as new features are being added icmq_seq=3 join=mailing list, suggestions, code icmq_seq=4 thanks!
    178. 178. ping audience

    ×