Full text search met ElasticSearch in de praktijk

1,248
-1

Published on

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

  • Be the first to like this

No Downloads
Views
Total Views
1,248
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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.

×