lucenenet-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Olivier Spinelli <>
Subject RE: Simplifying Lucene using Adapter Pattern , Generics , Reflection and Custom Attributes
Date Thu, 13 Dec 2012 07:39:18 GMT

May be you can start with
There are a lot of other Object <-> Lucene mappers/adapters/etc. 
Even may suit your needs.


-----Message d'origine-----
De : Haitham Khedre [] 
Envoyé : jeudi 13 décembre 2012 03:55
À :
Objet : Simplifying Lucene using Adapter Pattern , Generics , Reflection and Custom Attributes

Today is a special day 12-12-2012 , so I tried really to release something I really want to

from long time.

I am introducing a draft Idea of how we can make Lucene.Net more RAD and also simplifying

how the .Net Developers will interact with Lucene.Net .

The Idea is very simple we need to make the developer code normally in C# Generics

that mean the developer just need to build a List of his document object List<Student>

for example , and passing this to Lucene.Net to store it using default Index and Store configuration

also to search Lucene.Net either send a free string search query , or build a search object

really represent your criteria to search your document.

by building an Adapter component that will handle the communication between Lucene.Net

and C# Objects using very simple calls that will allow the result of the Idea to come to true

using custom Attributes to allow us to decorate the Document class properties

to explicit say what type of Index or Store you want this property to be configured in Lucene.Net

Conclusion :

the Idea behind that class that it is used as an Adapter Pattern to simplify the communication
between Lucene.Net and C# OOP so developers can send normal object to search and also receive
the result in a collection using Reflection and custom attributes to simplify Lucene and make
it more RAD development the next step really is to componentize this to make it a visual component
that can communicate with DB providers like SQL server , and generate classes and search UI
by drag drop , like the DataSet component and other Data Sources components.

View raw message