Share
Embed
Couchbase Server Full Text - London Nov 2015
Full text search in Couchbase: a preview of CBFT, Couchbase's upcoming free text search engine.
Marty Schoch
November 12, 2015
Transcript
30 slides
-
©2015 Couchbase Inc. ‹#› Marty Schoch Engineer with Couchbase for
4 years. Mobile, Elasticsearch adapter, N1QL, etc. Lead contributor to Bleve, a full-text search library built in Go. Just outside of Washington, DC, USA. [email protected] @mschoch -
©2015 Couchbase Inc. ‹#› agenda why cbft? what’s full-text search
and how’s it work? design demo status / roadmap / what’s next -
©2015 Couchbase Inc. ‹#› agenda why cbft? what’s full-text search
and how’s it work? design demo status / roadmap / what’s next -
©2015 Couchbase Inc. ‹#› why cbft? couchbase connectors… yet another
tier & cluster to manage yes yes yes yes Lucidworks yes yes -
©2015 Couchbase Inc. ‹#› agenda why cbft? what’s full-text search
and how’s it work? design demo status / roadmap / what’s next -
©2015 Couchbase Inc. ‹#› search results Spelling Suggestion Result Text
Snippets Highlighted Search Terms -
©2015 Couchbase Inc. ‹#› JSON document in Couchbase Key: akay1980
Document: { “name”: “Alan Kay”, “description”: “... the wisest engineer ...” } -
©2015 Couchbase Inc. ‹#› Text Analysis : tokenizer + token
filters A pipeline of transformations One Tokenizer Zero or more Token Filters -
©2015 Couchbase Inc. ‹#› Text Analysis : tokenizer + token
filters “… the wisest engineer …” the wisest engineer • Seems like simple whitespace… but, this doesn’t work for all languages • Unicode standard rules help (see Unicode Standard Annex #29) • Still need to account for exceptions • E-mail addresses and URLs don’t follow normal rules -
©2015 Couchbase Inc. ‹#› Text Analysis : tokenizer + token
filters the wisest engineer Stop Word Removal the wisest engineer Stemming wise engineer -
©2015 Couchbase Inc. ‹#› Search … wise … engineer …
… … …, akay1980, … …, akay1980, … engineers engineer Exact Match Inverted Index Apply the same text analysis at search time that we used at index time. -
©2015 Couchbase Inc. ‹#› Document Scoring ▪tf/idf scoring ▪Term Frequency
▪How often does a term occur in a document? ▪More often yields a higher score ▪Inverse Document Frequency ▪How many documents have this term? ▪More documents yields lower score (because it means the term is more common) -
©2015 Couchbase Inc. ‹#› Quality Results • Getting high quality
results depends on performing the right analysis for your text • Beware: adjustments to the mapping that increase precision may reduce recall (and the other way around) -
©2015 Couchbase Inc. ‹#› agenda why cbft? what’s full-text search
and how’s it work? design demo status / roadmap / what’s next -
©2015 Couchbase Inc. ‹#› cbft design / index partitioning bucket
partitions: 0, 1, 2, 3, 4, … … ,1021, 1022, 1023 X cbft nodes: assign to cbft nodes: (groups of vbuckets) 0-399 400-799 800-1023 index partitions: A B C (1024 vbuckets) -
©2015 Couchbase Inc. ‹#› cbft design / index partitioning bucket
partitions: 0, 1, 2, 3, 4, … … ,1021, 1022, 1023 X cbft nodes: assign to cbft nodes: (groups of vbuckets) 0-399 400-799 800-1023 index partitions: A B C (1024 vbuckets) Y Z replicas, too: -
©2015 Couchbase Inc. ‹#› cbft design / indexing couchbase couchbase
couchbase cbft cbft cbft DCP streams for incremental index updates -
©2015 Couchbase Inc. ‹#› cbft design / queries cbft cbft
a query sent to any cbft node… your application REST cbft …is scatter / gathered to the other cbft nodes -
©2015 Couchbase Inc. ‹#› agenda why cbft? what’s full-text search
and how’s it work? design demo status / roadmap / what’s next -
©2015 Couchbase Inc. ‹#› agenda why cbft? what’s full-text search
and how’s it work? design demo status / roadmap / what’s next -
©2015 Couchbase Inc. ‹#› project status cbft is developer preview!
please help kick the tires http://labs.couchbase.com/cbft -
©2015 Couchbase Inc. ‹#› project status / roadmap / what’s
next today bleve full-text engine y advanced mappings y faceted search y incremental indexing y index partitioning and replication y index aliases y -
©2015 Couchbase Inc. ‹#› project status / roadmap / what’s
next today future bleve full-text engine y y advanced mappings y y faceted search y y incremental indexing y y index partitioning and replication y y index aliases y y integrated into Couchbase Server & N1QL y API stability y production quality y performance optimization / tuning y forestdb storage & partial rollbacks y security, SSL y more docs, examples, SDK support y -
©2015 Couchbase Inc. ‹#› links & Q+A http://labs.couchbase.com/cbft downloads, getting
started, tech docs and, where you can ask questions and share your feedback! THANKS!