Hi Saurabh,

For integrating HBase and Apache Solr (or any other indexing/search
platform) we came up with Smart CMS [1][2] and there is the Lily
Project [4] too.

We are on the verge of releasing its 0.1 version which we have been
testing for an extensive period of time and will be used in production
straight away. Smart CMS was designed and developed with a goal
of uniting concepts of Objects with (HBase +Solr). IOW, we want to
design objects, and Smart CMS will take care of persisting it and
making it available for search. Though initially we have chosen
Apache Solr as the search engine but it is very easy to plugin any
other search engine of our choice, since we expose the integration of
search functionality through SPI.

A little bit of history of how we came into developing it and what it
is currently being used for. We started the development of it as we
needed a flexible content management system for an e-Commerce Platform
as a Service of ours. As we engrossed ourselves into it we found
'content' to be synonymous to 'Object' in OOP paradigm and we started
development around it. As a result now we have a system that can be
used both as a traditional Content Management System and as a Content
Repository.

We used it in as a traditional CMS capacity to manage Pages for the
partner websites for our e-Commerce PaaS; i.e. customers can create
pages for - product, promotion, store, etc. manage page contents for
front page, category page; links associated products, related products
etc from UI where the UI is dynamically generated using the content
definitions. We also used the CMS for extensive search functionalities
such as, full text search, facet search, range search, auto completion
etc. For this we access the CMS using its Web Service library, we use
Solr directly for advance searches and to access both of them we use a
tag library. The flexibility Smart CMS provided us in fact helped us
win 2 big customers.

We used CMS as a content repository where Smart CMS is actually being
used to generate domain/dto, data access layer codes for API/Service
layers to use them to persist Java POJOs; i.e.users of it defines a
XML we call 'Content Type Definition'. A content type definition is
synonymous to an Object Diagram; where we define objects, their
inheritance and compositions. This code generation is an approach we
took to bypass Java Reflection API and it is done by a Maven Plugin we
have written. We have another plugin which helps us start all CMS
related applications within Maven so that we can write integration
tests on the fly. An example of repository mode is available in our
Application Smart Email Queue [3], which is designed to send emails
from our PaaS. After proving sustainable performance in this mode,
Smart CMS has also been chosen for 4G Telecom Application Server
project's database.

[1] Smart CMS - http://smart-cms.org
[2] Smart CMS Source - https://github.com/SmartITEngineering/smart-cms
[3] Smart Email Queue - https://github.com/SmartITEngineering/smart-email-queue
[4] http://www.lilyproject.org/lily/index.html

We would welcome any feedback, criticism, involvement in Smart CMS. If
you have any further queries please feel free to ask them.

Thank you,

Imran

On Tue, Mar 20, 2012 at 7:38 PM, Agarwal, Saurabh
<saurabh.agar...@citi.com> wrote:
> Hi,
>
> Has anyone integrated search ( Luence, Solr or Elastic) with HBase?
>
> We are implementing log search functionality using HBase. Through Flume, the 
> logs from multiple apps are getting streamed into HBase directly.
>
> A very basic use case is to search a keyword for an application for a certain 
> timeframe ( for example - last hour).
>
> Our row key is app_id:timestamp and all log contents are stored in columns. 
> We started with Regex filter. It worked but do not provide the consistent 
> result.
>
> Now, we are exploring the index search capability in HBase. Our thought 
> process is that first create an inverted index table with row key - search 
> documents and column - the row key of the content table. The search will 
> return all the row keys.
>
> Additional requirement - We would like to limit the results for certain time 
> frame. Second, we would like to display only limited records in descending 
> time order and come back for more if user want to see more records.
>
> Let me know if someone has integrated the search with HBase.
>
> Thanks,
> Saurabh.
>
> -----Original Message-----
> From: Ted Yu [mailto:yuzhih...@gmail.com]
> Sent: Monday, March 19, 2012 12:33 PM
> To: user@hbase.apache.org
> Subject: Re: There is no data value information in HLog?
>
> Hi,
> Have you noticed this in HLogPrettyPrinter ?
>    options.addOption("p", "printvals", false, "Print values");
>
> Looks like you should have specified the above option.
>
> On Mon, Mar 19, 2012 at 7:31 AM, yonghu <yongyong...@gmail.com> wrote:
>
>> Hello,
>>
>> I used the $ ./bin/hbase org.apache.hadoop.hbase.regionserver.wal.HLog
>> --dump command to check the HLog information. But I can not find any
>> data information. The output of my HLog file is looks like follows:
>>
>> Sequence 933 from region 85986149309dff24ecf7be4873136f15 in table test
>>  Action:
>>    row: Udo
>>    column: Course:Computer
>>    at time: Mon Mar 19 14:09:29 CET 2012
>>
>> Sequence 935 from region 85986149309dff24ecf7be4873136f15 in table test
>>  Action:
>>    row: Udo
>>    column: Course:Math
>>    at time: Mon Mar 19 14:09:29 CET 2012
>>
>> The functionality of HLog is for recovery. But without data value
>> information, how can hbase use the information in HLog to do recovery.
>> My hbase version is 0.92.0.
>>
>> Regards!
>>
>> Yong
>>



-- 
Imran M Yousuf
Entrepreneur & CEO
Smart IT Engineering Ltd.
Dhaka, Bangladesh
Twitter: @imyousuf - http://twitter.com/imyousuf
Blog: http://imyousuf-tech.blogs.smartitengineering.com/
Mobile: +880-1711402557

Reply via email to