0
foto: Anders Sandberg
Wednesday 6 November 13
Full text search met
elasticsearch in de praktijk
Jeroen van Wilgenburg, JPoint
@jvwilge
vanwilgenburg.wordpress.com

Wedn...
Vragen voor jullie

Wednesday 6 November 13
Vragen voor jullie
• Wie heeft Lucene wel eens gebruikt?

Wednesday 6 November 13
Vragen voor jullie
• Wie heeft Lucene wel eens gebruikt?
• SOLR?

Wednesday 6 November 13
Vragen voor jullie
• Wie heeft Lucene wel eens gebruikt?
• SOLR?
• Compass?

Wednesday 6 November 13
Vragen voor jullie
• Wie heeft Lucene wel eens gebruikt?
• SOLR?
• Compass?
• elasticsearch?

Wednesday 6 November 13
Vragen voor jullie
• Wie heeft Lucene wel eens gebruikt?
• SOLR?
• Compass?
• elasticsearch?
• waar komen de servernamen v...
Wat is elasticsearch?
• full text search engine obv Lucene
• REST-api
• Distributed / High availability
• Document oriënte...
Wie gebruiken es?

Wednesday 6 November 13
Ook elastic
• elastic compute cloud (EC2)
• elastic beanstalk
• elastic load balancer
• elastic map reduce
• elastic trans...
BPO-register
• vinden van koopvaardijschepen met historie
• Hibernate Envers, Spring en Twitter
Bootstrap

• begonnen met ...
Hibernate Search

foto: Flickr - DVIDSHUB
Wednesday 6 November 13
elasticsearch

foto: Flickr - quinn anya
Wednesday 6 November 13
Clusternaam

Wednesday 6 November 13
Pas op met defaults!
• Gericht op ec2
• Goed om elasticsearch te leren
• 10 hits bij zoekresultaten
• voorbeeld (filmpje)
W...
Insecure by design
• zorg dat elasticsearch in gesloten netwerk
draait

• wat er niet is kan ook niet stuk

Wednesday 6 No...
Documentatie
• elasticsearch.org
• docs, blogs, video’s (es + youtube)
• google & stackoverflow
• boek van O’reilly in ontw...
Community/support
• binnen dag reactie op artikel
• www.meetup.com/ElasticSearch-NL
• Gevestigd in Amsterdam

Wednesday 6 ...
Tools
• command line curl +

chrome web inspector

• plugins
• elasticsearch head
• Inquisitor
• Elastic HQ
Wednesday 6 No...
Query basics
• rotterdam
• name:rotterdam
• name:rotterdam +homeport:amsterdam
• +name:rotterdam +homeport:amsterdam
• *gr...
Mappings
• default: dynamic mapping (schemaless)
• include_in_all

Wednesday 6 November 13
Analyzers
• index analyzer
• search analyzer
• _all is aparte analyzer (ipv per key)
• Inquisitor-plugin (demo)
Wednesday ...
Diakrieten
• instellen bij beide analyzers
• encoding van Spring
• encoding van EC2
• stackoverflow.com/questions/12016318/...
Wildcard
• apart opgeven in query
• suffix-wildcard is ok
• prefix is traaaaag
• boosting werkt niet meer (in onderzoek)
• “...
NL

AG

UK

NO

CY

LR

IT

BS

PA

BE

MT

GI

©2013 The World Flag Database & Graham Bartram

Wednesday 6 November 13
NL

AG

UK

NO

CY

LR

IT

BS

PA

BE

MT

GI

©2013 The World Flag Database & Graham Bartram

Wednesday 6 November 13
NO

IT

BE
©2013 The World Flag Database & Graham Bartram

Wednesday 6 November 13
Stop words
• a, an, and, are, as, at, be, but, by, for, if, in,

into, is, it, no, not, of, on, or, such, that, the,
their...
Scoring
• ‘magic’ formula
• oa. aantal voorkomens van term in hele set

Wednesday 6 November 13
Sorteren
• “Can’t sort on string types with more than

one value per doc, or more than one token
per field”

• Voeg veld <v...
Sorteren
• Lastig uitleggen aan eindgebruikers
• Gebruik een balkje met rang

Wednesday 6 November 13
Spring
• github.com/dadoonet
• Tweet David Pilato dat je het gebruikt
• Maak voldoende testqueries
• codevoorbeeld
Wednesd...
Unit-test
• refresh na een update
• draai unit-test op andere poort/clusternaam
• codevoorbeeld

Wednesday 6 November 13
Sharding en scoring
• Default is score per shard bereken
• Cluster scores die dicht bij elkaar liggen en
ga dan sorteren

...
Conclusie
• Snel aan de slag
• Even zoeken naar de goede documentatie
• Scoring snappen snel waardevol

Wednesday 6 Novemb...
Vragen?

Wednesday 6 November 13
Logstash + Kibana

Wednesday 6 November 13
elasticsearch in
de praktijk
Jeroen van Wilgenburg
www.jpoint.nl
@jvwilge

vanwilgenburg.wordpress.com
photo by ny156uk on...
Upcoming SlideShare
Loading in...5
×

Full text search met ElasticSearch in de praktijk

912

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
912
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Full text search met ElasticSearch in de praktijk"

  1. 1. foto: Anders Sandberg Wednesday 6 November 13
  2. 2. Full text search met elasticsearch in de praktijk Jeroen van Wilgenburg, JPoint @jvwilge vanwilgenburg.wordpress.com Wednesday 6 November 13
  3. 3. Vragen voor jullie Wednesday 6 November 13
  4. 4. Vragen voor jullie • Wie heeft Lucene wel eens gebruikt? Wednesday 6 November 13
  5. 5. Vragen voor jullie • Wie heeft Lucene wel eens gebruikt? • SOLR? Wednesday 6 November 13
  6. 6. Vragen voor jullie • Wie heeft Lucene wel eens gebruikt? • SOLR? • Compass? Wednesday 6 November 13
  7. 7. Vragen voor jullie • Wie heeft Lucene wel eens gebruikt? • SOLR? • Compass? • elasticsearch? Wednesday 6 November 13
  8. 8. Vragen voor jullie • Wie heeft Lucene wel eens gebruikt? • SOLR? • Compass? • elasticsearch? • waar komen de servernamen vandaan? Wednesday 6 November 13
  9. 9. Wat is elasticsearch? • full text search engine obv Lucene • REST-api • Distributed / High availability • Document oriënted (nested maps) Wednesday 6 November 13
  10. 10. Wie gebruiken es? Wednesday 6 November 13
  11. 11. Ook elastic • elastic compute cloud (EC2) • elastic beanstalk • elastic load balancer • elastic map reduce • elastic transcoder • Elasticache foto: Nick Richards Wednesday 6 November 13
  12. 12. BPO-register • vinden van koopvaardijschepen met historie • Hibernate Envers, Spring en Twitter Bootstrap • begonnen met Hibernate Search, vervangen door elasticsearch • géén clustering gebruikt Wednesday 6 November 13
  13. 13. Hibernate Search foto: Flickr - DVIDSHUB Wednesday 6 November 13
  14. 14. elasticsearch foto: Flickr - quinn anya Wednesday 6 November 13
  15. 15. Clusternaam Wednesday 6 November 13
  16. 16. Pas op met defaults! • Gericht op ec2 • Goed om elasticsearch te leren • 10 hits bij zoekresultaten • voorbeeld (filmpje) Wednesday 6 November 13
  17. 17. Insecure by design • zorg dat elasticsearch in gesloten netwerk draait • wat er niet is kan ook niet stuk Wednesday 6 November 13
  18. 18. Documentatie • elasticsearch.org • docs, blogs, video’s (es + youtube) • google & stackoverflow • boek van O’reilly in ontwikkeling Wednesday 6 November 13
  19. 19. Community/support • binnen dag reactie op artikel • www.meetup.com/ElasticSearch-NL • Gevestigd in Amsterdam Wednesday 6 November 13
  20. 20. Tools • command line curl + chrome web inspector • plugins • elasticsearch head • Inquisitor • Elastic HQ Wednesday 6 November 13
  21. 21. Query basics • rotterdam • name:rotterdam • name:rotterdam +homeport:amsterdam • +name:rotterdam +homeport:amsterdam • *gracht • happy abis dover • happy abis^2 dover Wednesday 6 November 13
  22. 22. Mappings • default: dynamic mapping (schemaless) • include_in_all Wednesday 6 November 13
  23. 23. Analyzers • index analyzer • search analyzer • _all is aparte analyzer (ipv per key) • Inquisitor-plugin (demo) Wednesday 6 November 13
  24. 24. Diakrieten • instellen bij beide analyzers • encoding van Spring • encoding van EC2 • stackoverflow.com/questions/12016318/ Wednesday 6 November 13
  25. 25. Wildcard • apart opgeven in query • suffix-wildcard is ok • prefix is traaaaag • boosting werkt niet meer (in onderzoek) • “rewrite” : “scoring_boolean” Wednesday 6 November 13
  26. 26. NL AG UK NO CY LR IT BS PA BE MT GI ©2013 The World Flag Database & Graham Bartram Wednesday 6 November 13
  27. 27. NL AG UK NO CY LR IT BS PA BE MT GI ©2013 The World Flag Database & Graham Bartram Wednesday 6 November 13
  28. 28. NO IT BE ©2013 The World Flag Database & Graham Bartram Wednesday 6 November 13
  29. 29. Stop words • a, an, and, are, as, at, be, but, by, for, if, in, into, is, it, no, not, of, on, or, such, that, the, their, then, there, these,they, this, to, was, will, with Wednesday 6 November 13
  30. 30. Scoring • ‘magic’ formula • oa. aantal voorkomens van term in hele set Wednesday 6 November 13
  31. 31. Sorteren • “Can’t sort on string types with more than one value per doc, or more than one token per field” • Voeg veld <veldnaam>.untouched toe • http://bit.ly/wFd8CZ Wednesday 6 November 13
  32. 32. Sorteren • Lastig uitleggen aan eindgebruikers • Gebruik een balkje met rang Wednesday 6 November 13
  33. 33. Spring • github.com/dadoonet • Tweet David Pilato dat je het gebruikt • Maak voldoende testqueries • codevoorbeeld Wednesday 6 November 13
  34. 34. Unit-test • refresh na een update • draai unit-test op andere poort/clusternaam • codevoorbeeld Wednesday 6 November 13
  35. 35. Sharding en scoring • Default is score per shard bereken • Cluster scores die dicht bij elkaar liggen en ga dan sorteren • dfs query then fetch (http://bit.ly/1cBRxMv) Wednesday 6 November 13
  36. 36. Conclusie • Snel aan de slag • Even zoeken naar de goede documentatie • Scoring snappen snel waardevol Wednesday 6 November 13
  37. 37. Vragen? Wednesday 6 November 13
  38. 38. Logstash + Kibana Wednesday 6 November 13
  39. 39. elasticsearch in de praktijk Jeroen van Wilgenburg www.jpoint.nl @jvwilge vanwilgenburg.wordpress.com photo by ny156uk on Flickr Wednesday 6 November 13
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×