Wissensvermittlung, Nachwuchsförderung und der fachliche Austausch auf Augenhöhe sind für uns Herzensangelegenheiten. Wir sind der Meinung: Geteilte Innovationsfreude ist doppelte Innovationsfreude.
Deshalb mischen sich codecentric-Mitarbeiter und -Mitarbeiterinnen gerne unter die Community – ob als Gastgeber, Redner oder Organisatoren diverser Veranstaltungen. Treffen Sie uns auf einem der folgenden Events!
Zeitgemäße Softwarearchitektur ist nicht das Werk einzelner. Architekturansätze und Ideen entstehen im Team und werden gemeinsam reflektiert. Alle Entwickler müssen sie zumindest verstehen und mittragen können. Aber was genau müsst Ihr vermitteln? Reicht aufschreiben? Hilft UML? Stefan Zörner zeigt auf ...
Zum Jahresbeginn 2017 und 16. Treffen der Essener Microsoft / .Net Developer Group besucht uns Daniel Mies von codecentric. Hallo TypeScript! Die Entwicklung im Frontend nimmt an Komplexität zu: Single-Page-Webanwendungen, Konzepte wie Offline-first und die stetig wachsende Zahl an Frameworks ...
Agenda: 19:00 – 19:30: Welcome gathering, food, drinks 19:30 – 20:45: Mutation Testing in Continuous Delivery Pipelines Mutation testing introduces subtle bugs to source code of our projects and checks that our tests catch those synthetic problems. High computational cost ...
1. BM25 demystified
Lucene will change the default scoring from TF/IDF to BM25 in the next major release. So unless you really enjoy surprises you better learn about it now! TF/IDF was easy enough to understand intuitively but how is it with BM25? What do all these parameters do? And what do people mean when they say it is „probabilistic“? In this talk I will tell the story of how we came from the Probability Ranking Principle to BM25 with a minimum of math and a maximum of explaining. I will also show how BM25 differs from TF/IDF, what it means in practice and give and intuition on what the parameters of this method actually do. You will leave this talk feeling good about Lucene changing the default. And of course you will learn many fancy buzzwords to show off with during the breaks.
Britta Weber was lured away from a career in academic research on image processing by all that’s awesome in Elasticsearch. She joined the company in May 2013 as a software engineer in the company’s Berlin office. When not writing code and thinking about machine learning, she enjoys singing renaissance madrigals.
Britta Weber, Software Engineer – elastic.co @a2tirb
2. Building a real-time news search engine
What challenges could a search engine have? Large number of documents? Large query load? Very complex queries? A challenging privileging model? Expected low query latency? High volume of document updates? Updates to documents reflected in milliseconds? Realtime alerting for any search? Absolutely no downtime any time of the day, week or year? What if a search engine had all these challenges? Meet the backend which drives News Search at Bloomberg LP. In this talk, Ramkumar Aiyengar talks about how he and his colleagues successfully pushed Solr over the last three years to unchartered territories, to deliver a real-time search engine critical to the workflow of hundreds of thousands of customers worldwide.
Ramkumar leads the News Search backend team at the Bloomberg R&D office in London. He joined Bloomberg from his university in India and has been with the News R&D team for eight years now. He started working with Apache Solr/Lucene three years back, and is now a committer with the project usually curious about Solr’s search distribution, architecture and cloud functionality. He considers himself a Linux evangelist, and is one of those weird geeky creatures who considers Lisp beautiful and believes that Emacs is an operating system.
Ramkumar Aiyengar, TeamLead Search Backend, Bloomberg R&D London, @andyetitmoves
3. Serving real time push-notifications for 5million saved searches
Ebay Kleinanzeigen is one of the most visited sites in Germany and still grows at an amazing speed. Currently, we have about 19 million ads and over 18 million unique visitors each month. One of our most popular features are saved searches: When on a search result page, users can register for push notifications in case of new matching ads being posted. Introduced in summer last year, we are now close to 5 million saved searches in our database, with the number steadily growing.
Matching newly posted ads with these saved searches seems like information retrieval upside down: Normally, we store ads and given a user query, return matching results. In this case, we need to store queries and given an ad, identify the queries that matched. ElasticSearch’s Percolator conveniently provides the base functionality out of the box and is at the heart of our implementation. With 5million saved searches and[masked] new ads being posted every day, this is one of the biggest productive applications of the percolation feature according to the ElasticSearch support.
However, identifying queries that match newly incoming ads is only one part of the story. The massive throughput of data and the need for near-realtime notifications require a modular, highly scalable infrastructure which we designed and implemented using Kafka, a distributed state-of-the-art messaging system.
In this talk, we will speak about the challenges that came with the saved searches feature and how we are dealing with them. We will look at necessary general optimisations as well as tweaks specific to our application.
André Charton, Christiana Lemke, Ebay Kleinanzeigen Berlin