You are on page 1of 17

Indexing plugins: Basics and Concepts!

For those that want mongodb to prepare coffee

Flavio Percoco Premoli


flaper87@flaper87.org

Research & Development, The Net Planet Europe

October 04th, 2010


Indexing plugins: Basics and Concepts!
Introduction

The When and Why

Creating an IndexPlugin is not a big deal and the most important thing is that anyone
can do it to satisfice his needs but when/why should someone put his hands into this?
Indexing plugins: Basics and Concepts!
IndexPlugin
Why

should I be interested?

Why not?. . .
MongoDB’s index system didn’t satisfice my needs.
Indexing plugins: Basics and Concepts!
IndexPlugin
When

should I create a new IndexPlugin?

You need to index data in a certain manner.


You need to use/query an external indexing system.
You need to extend the way you query your indexed data.
You don’t have anything else to do.
Indexing plugins: Basics and Concepts!
IndexPlugin
When

should I create a new IndexPlugin?

You need to index data in a certain manner.


You need to use/query an external indexing system.
You need to extend the way you query your indexed data.
You don’t have anything else to do.
Indexing plugins: Basics and Concepts!
IndexPlugin
When

should I create a new IndexPlugin?

You need to index data in a certain manner.


You need to use/query an external indexing system.
You need to extend the way you query your indexed data.
You don’t have anything else to do.
Indexing plugins: Basics and Concepts!
IndexPlugin
When

should I create a new IndexPlugin?

You need to index data in a certain manner.


You need to use/query an external indexing system.
You need to extend the way you query your indexed data.
You don’t have anything else to do.
Indexing plugins: Basics and Concepts!
IndexPlugin
Classes

Diving into the API

IndexPlugin: Base class that represents a plugin.


IndexType: Represents the plugin instance. A single instance will be created for
each plugin which allow mongodb to keep cache.
Cursor: Base Cursor class used to iterate over the results found. It is based on
the internal mongodb btree index system.
Command: Used to create custom commands.
Indexing plugins: Basics and Concepts!
IndexPlugin
Classes

Diving into the API

IndexPlugin: Base class that represents a plugin.


IndexType: Represents the plugin instance. A single instance will be created for
each plugin which allow mongodb to keep cache.
Cursor: Base Cursor class used to iterate over the results found. It is based on
the internal mongodb btree index system.
Command: Used to create custom commands.
Indexing plugins: Basics and Concepts!
IndexPlugin
Classes

Diving into the API

IndexPlugin: Base class that represents a plugin.


IndexType: Represents the plugin instance. A single instance will be created for
each plugin which allow mongodb to keep cache.
Cursor: Base Cursor class used to iterate over the results found. It is based on
the internal mongodb btree index system.
Command: Used to create custom commands.
Indexing plugins: Basics and Concepts!
IndexPlugin
Classes

Diving into the API

IndexPlugin: Base class that represents a plugin.


IndexType: Represents the plugin instance. A single instance will be created for
each plugin which allow mongodb to keep cache.
Cursor: Base Cursor class used to iterate over the results found. It is based on
the internal mongodb btree index system.
Command: Used to create custom commands.
Indexing plugins: Basics and Concepts!
IndexPlugin
Limitations

What can’t I do with an IndexPlugin?

Index data outside mongodb. SERVER-1436


Indexing plugins: Basics and Concepts!
IndexPlugin
Suggestions

What should/shouldn’t I do?

Extend mongodb’s internal classes.


Keep your mongodb source files up to date.
Write as many cursor classes as you need.
Let mongodb know what’s happening.
Indexing plugins: Basics and Concepts!
IndexPlugin
Suggestions

What should/shouldn’t I do?

Extend mongodb’s internal classes.


Keep your mongodb source files up to date.
Write as many cursor classes as you need.
Let mongodb know what’s happening.
Indexing plugins: Basics and Concepts!
IndexPlugin
Suggestions

What should/shouldn’t I do?

Extend mongodb’s internal classes.


Keep your mongodb source files up to date.
Write as many cursor classes as you need.
Let mongodb know what’s happening.
Indexing plugins: Basics and Concepts!
IndexPlugin
Suggestions

What should/shouldn’t I do?

Extend mongodb’s internal classes.


Keep your mongodb source files up to date.
Write as many cursor classes as you need.
Let mongodb know what’s happening.
Indexing plugins: Basics and Concepts!
The End
A little bit about me

Full Name: Flavio Percoco Premoli


IRC: FlaPer87 at irc.freenode.net
Twitter: FlaPer87
blog: http://www.flaper87.org
e-mail: flaper87@flaper87.org
Anywhere else: FlaPer87
Short Background:
GNOME a11y and Open a11y Contributor (MouseTrap
[http://live.gnome.org/MouseTrap])
Open Source Developer/Contributor (Web and Desktop)
R&D Developer at The Net Planet Europe
Knowledge Management Systems
Search Engines
Indexing Engines
Cloud Computing
NoSQL Technologies
Linux Lover/User and Mac user too

You might also like