SlideShare una empresa de Scribd logo
1 de 48
Descargar para leer sin conexión
Full-Text Search
on iOS and Android
Lasse Koskela
BUSINESS DESIGN TECHNOLOGY
2
HELSINKI TOKYO NEW YORK
3
4
5
Lasse Koskela
6
Teevee
Common directory for
Finland’s largest
commercial and public
television broadcasters
aggregating some
200,000 movies and video
episodes.
7
Supla
Audio podcast application
for Finland’s largest
commercial radio
broadcasting company
producing both original
content and on-demand
episodes of radio
programming.
8
FULL-TEXT SEARCHSEARCHSEARCH
9
FULL-TEXT SEARCHSEARCHSEARCH
10
?
A search that compares every word in a document, as
opposed to searching an abstract or a set of keywords
associated with the document.
I type some words and

the app gives me relevant content

despite minor spelling differences,

sorted in a way that makes sense.
SEARCH
ContentUI Index
SEARCH
UI
I type some words and

the app gives me relevant content

despite minor spelling differences,

sorted in a way that makes sense.
13
Don’t make me scroll
14
Ranking defines how good your Search is
• Number of occurrences
• Length of match vs length of text
• Starting position of first match
• Full word match vs prefix match
• Match in title vs match in body
• Date of matching document
• Popularity amongst other users
• Behavioural conditioning
15
Search Interface Guidelines
• Don’t block the UI thread with searches.
• Don’t block the database with updates.
• Don’t block new searches with old ones.
• Don’t delay showing results any longer than you must.
• Indicate activity while searching.
• Differentiate “no matches” from “didn’t do anything”.
• Adding terms should narrow the results.
16
ContentUI Index
Content Index
Index
CLucene
SQLite FTS4 tables
20
MobileLucene
SQLite FTS4 tables
(BRFullTextSearch)
CLucene + BRFullTextSearch

indexing documents
#import <BRFullTextSearch/BRFullTextSearch.h>

#import <BRFullTextSearch/CLuceneSearchService.h>

…
let lucene = CLuceneSearchService(indexPath: "Stuff.idx")

lucene.defaultAnalyzerLanguage = "fi"

lucene.stemmingDisabled = false

lucene.supportStemmedPrefixSearches = true

…
let fields = [kBRSearchFieldNameTitle: "MCE^3 2016",

kBRSearchFieldNameValue: "Pure awesomeness"]

let doc = BRSimpleIndexable(identifier: "doc1", data: fields)

lucene.addObjectToIndex(doc, queue: nil, finished: nil)
21
CLucene + BRFullTextSearch

searching documents
// ’t’ ~ kBRSearchFieldNameTitle, ‘k’ ~ kBRSearchFieldNameValue

let query = “t:(surf* OR board*) OR v:(surf* OR board*)"

let boostedQuery = "t:("surf*") OR v:("board*"^10)"

let results = lucene.search(query)

results.iterateWithBlock({ (i, result, stop) in

NSLog("Match: (result.identifier): 

(result.dictionaryRepresentation())")

})
22
MobileLucene

searching documents
// Using wrapper classes from Github user ‘lukhnos’:

import org.lukhnos.lucenestudy.SearchResult;

import org.lukhnos.lucenestudy.Searcher;

import org.lukhnos.lucenestudy.Document;

Searcher searcher = new Searcher("Stuff.idx");

SearchResult result = searcher.search(query, 100);

for (Document doc : result.documents) {

Log.d("SEARCH", "Found: " + doc.title);

}

searcher.close()

23
SQLite FTS4 tables

indexing documents
// create an FTS table for the index

CREATE VIRTUAL TABLE pages 

USING fts4(title, body, tokenize=icu fi_FI);

// add a document to the index

INSERT INTO pages (docid, title, body)

VALUES(42, 'MCE^3 2016', 'Still Pure awesomeness');

// optimise the index when the app is idle

INSERT INTO pages(pages) VALUES('optimize');
24
SQLite FTS4 tables

searching documents
-- search across all columns, order by "matchinfo"

01 SELECT * FROM pages WHERE pages 

02 MATCH 'surf* OR board*'

03 ORDER BY matchinfo(pages) DESC;

25
SQLite FTS4 tables

searching documentssearching documents
01 SELECT title, docid FROM pages

02

03

04

05

06

07

09

10 WHERE pages MATCH 'surf* OR board*'



02 JOIN (

03 SELECT docid,

04 bm25f(matchinfo(pages,'pcxnal'), 10, 1) AS rank

05 -- 'bm25f' is a custom SQL function!

06 FROM pages WHERE pages MATCH 'surf* OR board*'

07 ORDER BY rank DESC LIMIT 1000 OFFSET 0

09 ) AS ranktable USING(docid)

10

11 ORDER BY ranktable.rank DESC
26
ContentUI Index
Content
boarboasurfboardsurfboard
29
30
surf
board
surfboard
boa
boar
31
surf
board
surfboard
boa
boar
massacreassmassacre
32
surf
board
surfboard
boa
boar
mass
acre
ass
massacre
33
surf
board
surfboard
boa
boar
mass
acre
ass
massacre slingshotslingshotslingshot
34
sling
shot
slingshot
hot
slings
surf
board
surfboard
boa
boar
mass
acre
ass
massacre
35
sling shot
slingshot
hotslings
surf board
surfboard
mass acre
massacre
boa
boar
ass
shot
36
slingshot
hot
board
surfboard
acre
massacre
shot
37
slingshot
hot
board
surfboard
acre
massacre
craftsmanshipmanshipship
shot
38
slingshot
hot
board
surfboard
acre
massacre
craftsmanship
manship
ship
shot
39
slingshot
hot
board
surfboard
acre
massacre
craftsmanship
manship
ship
shot
40
slingshot
hot
board
surfboard
acre
massacrecraftsmanship
manship
ship
41
shot
slingshot
hot
board
surfboard
acre
massacrecraftsmanship
manship
ship
42
shot
slingshot
hot
board
surfboard
acre
massacrecraftsmanship
manship
ship
01 def split(word, dictionary):
02 splits, min_length = [], 3
03 if len(word) >= (min_length * 2):
04 for i in range(min_length, len(word) - min_length):
05 head, tail = word[:i], word[i:]
06 if (head in dictionary):
07 if (tail in dictionary):
08 splits.append(head + " " + tail)
09 splits.extend(split(tail, dictionary))
10 return splits
windsurfing " w + indsurfing
windsurfing " wi + ndsurfing
windsurfing " win + dsurfing ✗ only HEAD matches
windsurfing " wind + surfing ✓ HEAD and TAIL match!
windsurfing " winds + urfing ✗ only HEAD matches
windsurfing " windsu + rfing
windsurfing " windsur + fing
windsurfing " windsurf + ing ✗ only HEAD matches
windsurfing " windsurfi + ng
windsurfing " windsurfin + g
43
shot
slingshot
hot
board
surfboard
acre
massacrecraftsmanship
manship
ship
windsurfing
windsurfing " windsurf + ing
windsurfing ~ windsurf
44
shot
slingshot
hot
board
surfboard
acre
massacrecraftsmanship
manship
ship
windsurfing " windsurf + ing
stemming reduces a word to its base (a stem)
45
shot
slingshot
hot
board
surfboard
acre
massacrecraftsmanship
manship
ship
stemming reduces a word to its base (a stem)
// The Snowball Project - http://showballstem.org

import org.tartarus.snowball.ext.EnglishStemmer;



EnglishStemmer stemmer = new EnglishStemmer();

stemmer.setCurrent("estimate");

stemmer.stem();

stemmer.getCurrent(); // => "estim"
46
shot
slingshot
hot
board
surfboard
acre
massacrecraftsmanship
manship
ship
lemmatisation turns a word to its basic form (a lemma)
// pod 'Parsimmon' - wraps NSLinguisticTagger

import Parsimmon



let phrase = "I'm eating chocolate bunnies."

let stems = Lemmatizer().lemmatizeWordsInText(phrase)

print(stems) // => ["I", "eat", "chocolate", "bunny"]
I type some words and

the app gives me relevant content

despite minor spelling differences,

sorted in a way that makes sense.
47
lasse.koskela@reaktor.com
lassekoskela

Más contenido relacionado

La actualidad más candente

Intro KaKao MRTE (MySQL Realtime Traffic Emulator)
Intro KaKao MRTE (MySQL Realtime Traffic Emulator)Intro KaKao MRTE (MySQL Realtime Traffic Emulator)
Intro KaKao MRTE (MySQL Realtime Traffic Emulator)I Goo Lee
 
Linux Bash Shell Cheat Sheet for Beginners
Linux Bash Shell Cheat Sheet for BeginnersLinux Bash Shell Cheat Sheet for Beginners
Linux Bash Shell Cheat Sheet for BeginnersDavide Ciambelli
 
Treebeard's Unix Cheat Sheet
Treebeard's Unix Cheat SheetTreebeard's Unix Cheat Sheet
Treebeard's Unix Cheat Sheetwensheng wei
 
Pry at the Ruby Drink-up of Sophia, February 2012
Pry at the Ruby Drink-up of Sophia, February 2012Pry at the Ruby Drink-up of Sophia, February 2012
Pry at the Ruby Drink-up of Sophia, February 2012rivierarb
 
Unix Command-Line Cheat Sheet BTI2014
Unix Command-Line Cheat Sheet BTI2014Unix Command-Line Cheat Sheet BTI2014
Unix Command-Line Cheat Sheet BTI2014Noé Fernández-Pozo
 
Oop bullets graphical
Oop bullets graphicalOop bullets graphical
Oop bullets graphicalswathi4crazy
 
Top 10 Random Linux/Ubuntu Commands
Top 10 Random Linux/Ubuntu CommandsTop 10 Random Linux/Ubuntu Commands
Top 10 Random Linux/Ubuntu CommandsYusuf Felly
 
Workshop on command line tools - day 1
Workshop on command line tools - day 1Workshop on command line tools - day 1
Workshop on command line tools - day 1Leandro Lima
 
Hadoop hands on madison
Hadoop hands on madisonHadoop hands on madison
Hadoop hands on madisonRyan Bosshart
 
Deep dive to PostgreSQL Indexes
Deep dive to PostgreSQL IndexesDeep dive to PostgreSQL Indexes
Deep dive to PostgreSQL IndexesIbrar Ahmed
 
Workshop on command line tools - day 2
Workshop on command line tools - day 2Workshop on command line tools - day 2
Workshop on command line tools - day 2Leandro Lima
 

La actualidad más candente (19)

BIND DNS Configuration Red Hat 5
BIND DNS Configuration Red Hat 5BIND DNS Configuration Red Hat 5
BIND DNS Configuration Red Hat 5
 
Intro KaKao MRTE (MySQL Realtime Traffic Emulator)
Intro KaKao MRTE (MySQL Realtime Traffic Emulator)Intro KaKao MRTE (MySQL Realtime Traffic Emulator)
Intro KaKao MRTE (MySQL Realtime Traffic Emulator)
 
Basics of unix
Basics of unixBasics of unix
Basics of unix
 
Linux Bash Shell Cheat Sheet for Beginners
Linux Bash Shell Cheat Sheet for BeginnersLinux Bash Shell Cheat Sheet for Beginners
Linux Bash Shell Cheat Sheet for Beginners
 
Oop lecture9 11
Oop lecture9 11Oop lecture9 11
Oop lecture9 11
 
Treebeard's Unix Cheat Sheet
Treebeard's Unix Cheat SheetTreebeard's Unix Cheat Sheet
Treebeard's Unix Cheat Sheet
 
Pry at the Ruby Drink-up of Sophia, February 2012
Pry at the Ruby Drink-up of Sophia, February 2012Pry at the Ruby Drink-up of Sophia, February 2012
Pry at the Ruby Drink-up of Sophia, February 2012
 
Linux cheat-sheet
Linux cheat-sheetLinux cheat-sheet
Linux cheat-sheet
 
Unix Command-Line Cheat Sheet BTI2014
Unix Command-Line Cheat Sheet BTI2014Unix Command-Line Cheat Sheet BTI2014
Unix Command-Line Cheat Sheet BTI2014
 
Basic commands
Basic commandsBasic commands
Basic commands
 
Oop bullets graphical
Oop bullets graphicalOop bullets graphical
Oop bullets graphical
 
Top 10 Random Linux/Ubuntu Commands
Top 10 Random Linux/Ubuntu CommandsTop 10 Random Linux/Ubuntu Commands
Top 10 Random Linux/Ubuntu Commands
 
Workshop on command line tools - day 1
Workshop on command line tools - day 1Workshop on command line tools - day 1
Workshop on command line tools - day 1
 
Hadoop hands on madison
Hadoop hands on madisonHadoop hands on madison
Hadoop hands on madison
 
Deep dive to PostgreSQL Indexes
Deep dive to PostgreSQL IndexesDeep dive to PostgreSQL Indexes
Deep dive to PostgreSQL Indexes
 
Dns
DnsDns
Dns
 
Codigos
CodigosCodigos
Codigos
 
Workshop on command line tools - day 2
Workshop on command line tools - day 2Workshop on command line tools - day 2
Workshop on command line tools - day 2
 
Linux command line
Linux command lineLinux command line
Linux command line
 

Similar a MCE^3 - Lasse Koskela - Full-Text Search on iOS and Android

Introduction to MongoDB and Hadoop
Introduction to MongoDB and HadoopIntroduction to MongoDB and Hadoop
Introduction to MongoDB and HadoopSteven Francia
 
VRA 2012, Embedded Metadata, Embedded Metadata and the do-it-yourselfer
VRA 2012, Embedded Metadata, Embedded Metadata and the do-it-yourselferVRA 2012, Embedded Metadata, Embedded Metadata and the do-it-yourselfer
VRA 2012, Embedded Metadata, Embedded Metadata and the do-it-yourselferVisual Resources Association
 
Faster and better search results with Elasticsearch
Faster and better search results with ElasticsearchFaster and better search results with Elasticsearch
Faster and better search results with ElasticsearchEnrico Polesel
 
Tech, Reference, AND PATRON Views of our new Front-End
Tech, Reference, AND PATRON Views of our new Front-EndTech, Reference, AND PATRON Views of our new Front-End
Tech, Reference, AND PATRON Views of our new Front-Endkramsey
 
한국어와 NLTK, Gensim의 만남
한국어와 NLTK, Gensim의 만남한국어와 NLTK, Gensim의 만남
한국어와 NLTK, Gensim의 만남Eunjeong (Lucy) Park
 
Real-time Semantic Web with Twitter Annotations
Real-time Semantic Web with Twitter AnnotationsReal-time Semantic Web with Twitter Annotations
Real-time Semantic Web with Twitter AnnotationsJoshua Shinavier
 
Building Your First App: An Introduction to MongoDB
Building Your First App: An Introduction to MongoDBBuilding Your First App: An Introduction to MongoDB
Building Your First App: An Introduction to MongoDBMongoDB
 
Information Retrieval-4(inverted index_&amp;_query handling)
Information Retrieval-4(inverted index_&amp;_query handling)Information Retrieval-4(inverted index_&amp;_query handling)
Information Retrieval-4(inverted index_&amp;_query handling)Jeet Das
 
Clojure: Simple By Design
Clojure: Simple By DesignClojure: Simple By Design
Clojure: Simple By DesignAll Things Open
 
1 Project 1 Introduction - the SeaPort Project seri.docx
1  Project 1 Introduction - the SeaPort Project seri.docx1  Project 1 Introduction - the SeaPort Project seri.docx
1 Project 1 Introduction - the SeaPort Project seri.docxoswald1horne84988
 
Python programming –part 7
Python programming –part 7Python programming –part 7
Python programming –part 7Megha V
 
HPCC Systems vs Hadoop
HPCC Systems vs HadoopHPCC Systems vs Hadoop
HPCC Systems vs HadoopFujio Turner
 
Text as Data: processing the Hebrew Bible
Text as Data: processing the Hebrew BibleText as Data: processing the Hebrew Bible
Text as Data: processing the Hebrew BibleDirk Roorda
 
Elasticsearch: You know, for search! and more!
Elasticsearch: You know, for search! and more!Elasticsearch: You know, for search! and more!
Elasticsearch: You know, for search! and more!Philips Kokoh Prasetyo
 
Advanced MongoDB Aggregation Pipelines
Advanced MongoDB Aggregation PipelinesAdvanced MongoDB Aggregation Pipelines
Advanced MongoDB Aggregation PipelinesTom Schreiber
 
MongoDB Europe 2016 - Advanced MongoDB Aggregation Pipelines
MongoDB Europe 2016 - Advanced MongoDB Aggregation PipelinesMongoDB Europe 2016 - Advanced MongoDB Aggregation Pipelines
MongoDB Europe 2016 - Advanced MongoDB Aggregation PipelinesMongoDB
 
Storm - As deep into real-time data processing as you can get in 30 minutes.
Storm - As deep into real-time data processing as you can get in 30 minutes.Storm - As deep into real-time data processing as you can get in 30 minutes.
Storm - As deep into real-time data processing as you can get in 30 minutes.Dan Lynn
 
Your Data, Your Search, ElasticSearch (EURUKO 2011)
Your Data, Your Search, ElasticSearch (EURUKO 2011)Your Data, Your Search, ElasticSearch (EURUKO 2011)
Your Data, Your Search, ElasticSearch (EURUKO 2011)Karel Minarik
 
Berlin buzzwords 2013 - Faceting analyzed fields with some sprinkles of proba...
Berlin buzzwords 2013 - Faceting analyzed fields with some sprinkles of proba...Berlin buzzwords 2013 - Faceting analyzed fields with some sprinkles of proba...
Berlin buzzwords 2013 - Faceting analyzed fields with some sprinkles of proba...Boaz Leskes
 

Similar a MCE^3 - Lasse Koskela - Full-Text Search on iOS and Android (20)

Introduction to MongoDB and Hadoop
Introduction to MongoDB and HadoopIntroduction to MongoDB and Hadoop
Introduction to MongoDB and Hadoop
 
VRA 2012, Embedded Metadata, Embedded Metadata and the do-it-yourselfer
VRA 2012, Embedded Metadata, Embedded Metadata and the do-it-yourselferVRA 2012, Embedded Metadata, Embedded Metadata and the do-it-yourselfer
VRA 2012, Embedded Metadata, Embedded Metadata and the do-it-yourselfer
 
Faster and better search results with Elasticsearch
Faster and better search results with ElasticsearchFaster and better search results with Elasticsearch
Faster and better search results with Elasticsearch
 
Tech, Reference, AND PATRON Views of our new Front-End
Tech, Reference, AND PATRON Views of our new Front-EndTech, Reference, AND PATRON Views of our new Front-End
Tech, Reference, AND PATRON Views of our new Front-End
 
한국어와 NLTK, Gensim의 만남
한국어와 NLTK, Gensim의 만남한국어와 NLTK, Gensim의 만남
한국어와 NLTK, Gensim의 만남
 
Real-time Semantic Web with Twitter Annotations
Real-time Semantic Web with Twitter AnnotationsReal-time Semantic Web with Twitter Annotations
Real-time Semantic Web with Twitter Annotations
 
Building Your First App: An Introduction to MongoDB
Building Your First App: An Introduction to MongoDBBuilding Your First App: An Introduction to MongoDB
Building Your First App: An Introduction to MongoDB
 
Information Retrieval-4(inverted index_&amp;_query handling)
Information Retrieval-4(inverted index_&amp;_query handling)Information Retrieval-4(inverted index_&amp;_query handling)
Information Retrieval-4(inverted index_&amp;_query handling)
 
Clojure: Simple By Design
Clojure: Simple By DesignClojure: Simple By Design
Clojure: Simple By Design
 
1 Project 1 Introduction - the SeaPort Project seri.docx
1  Project 1 Introduction - the SeaPort Project seri.docx1  Project 1 Introduction - the SeaPort Project seri.docx
1 Project 1 Introduction - the SeaPort Project seri.docx
 
Python programming –part 7
Python programming –part 7Python programming –part 7
Python programming –part 7
 
HPCC Systems vs Hadoop
HPCC Systems vs HadoopHPCC Systems vs Hadoop
HPCC Systems vs Hadoop
 
Text as Data: processing the Hebrew Bible
Text as Data: processing the Hebrew BibleText as Data: processing the Hebrew Bible
Text as Data: processing the Hebrew Bible
 
Elasticsearch: You know, for search! and more!
Elasticsearch: You know, for search! and more!Elasticsearch: You know, for search! and more!
Elasticsearch: You know, for search! and more!
 
Advanced MongoDB Aggregation Pipelines
Advanced MongoDB Aggregation PipelinesAdvanced MongoDB Aggregation Pipelines
Advanced MongoDB Aggregation Pipelines
 
MongoDB Europe 2016 - Advanced MongoDB Aggregation Pipelines
MongoDB Europe 2016 - Advanced MongoDB Aggregation PipelinesMongoDB Europe 2016 - Advanced MongoDB Aggregation Pipelines
MongoDB Europe 2016 - Advanced MongoDB Aggregation Pipelines
 
Crystal Rocks
Crystal RocksCrystal Rocks
Crystal Rocks
 
Storm - As deep into real-time data processing as you can get in 30 minutes.
Storm - As deep into real-time data processing as you can get in 30 minutes.Storm - As deep into real-time data processing as you can get in 30 minutes.
Storm - As deep into real-time data processing as you can get in 30 minutes.
 
Your Data, Your Search, ElasticSearch (EURUKO 2011)
Your Data, Your Search, ElasticSearch (EURUKO 2011)Your Data, Your Search, ElasticSearch (EURUKO 2011)
Your Data, Your Search, ElasticSearch (EURUKO 2011)
 
Berlin buzzwords 2013 - Faceting analyzed fields with some sprinkles of proba...
Berlin buzzwords 2013 - Faceting analyzed fields with some sprinkles of proba...Berlin buzzwords 2013 - Faceting analyzed fields with some sprinkles of proba...
Berlin buzzwords 2013 - Faceting analyzed fields with some sprinkles of proba...
 

Último

CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 

Último (20)

CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 

MCE^3 - Lasse Koskela - Full-Text Search on iOS and Android