To expand a bit on the other replies, yes, your order data should definitely be 
denormalized into one single order scheme. We store orders this way in Solr, 
since near real-time search among live orders is a requirement for several of 
our systems.

Something non-Solr though - consider denormalizing your order data in your 
relational database as well. Sooner or later, you will get into trouble with 
keeping orders and associated products separated via normalization - unless you 
keep a history of all previous versions of a product, or you never change 
products. Say that a product changes its name one month after an order is 
placed  - if you keep the data normalized, all previous orders will get the new 
name of the product - not the name it had when the order was placed. This 
behaviour is usually not sought after in my experience.

This would, of course, also make a direct map to Solr more straightforward.
--
Henrik Ossipoff Hansen

On 1. dec. 2013 at 02.06.54, subacini Arunkumar 
(subac...@gmail.com<mailto://subac...@gmail.com>) wrote:

Thanks Walter for the reply. Here is my complete requirement.


Please let me know the possible solutions to address my requirement.

* Two tables might have millions of records with 50 columns in each table

* Expected output is same as what we get in SQL inner join

say For Eg, I have two tables Product , Order table.

*Product Table *

id Name

P1 ipad

P2 iphone 4

P3 iphone 5

*Order Table*

id order date product_id

O1 1-Dec-2012 P1

O2 1-Dec-2012 P2

O3 2-Dec-2012 P2


*Expected Output: *I want to show the details in UI as below [SQL inner
join ]

O1 01-Dec-2012 ipad

O2 1-Dec-2012 iPhone 4

O3 2-Dec-2012 iPhone 5


I tried setting up two solr cores , Product core & Order Core

*Option 1: Using Solr Join*

I got expected result but i was able to get columns only from one core (ie)
total 3 records but only product table columns


http://<….>/product/select?q=*&fq={!join from=product_id to=id
fromIndex=order}*


*Option 2: Using shards*

Created third core, but number of records is sum of(Product core + Order
Core) as documents are of different types and they are all unique(ie) 6
records

So how could i generate a single document with all fields from two
different document types in different cores.


On Sat, Nov 30, 2013 at 8:04 AM, Walter Underwood <wun...@wunderwood.org>wrote:

> 1. Flatten the data into a single table.
>
> 2. Solr does not seem like a good solution for order data, especially live
> orders that need to be transactional. That is a great match to a standard
> relational DB.
>
> wunder
>
> On Nov 30, 2013, at 12:15 AM, subacini Arunkumar <subac...@gmail.com>
> wrote:
>
> > Hi
> >
> > We are using solr 4.4 . Please let me know the possible solutions to
> > address my requirement.
> >
> > We have to fetch data from two tables Product , Order table.
> >
> > Product Table
> >
> > id Name
> > P1 ipad
> > P2 iphone 4
> > P3 iphone 5
> >
> >
> > Order Table
> >
> > id order date product_id
> > O1 1-Dec-2012 P1
> > O2 1-Dec-2012 P2
> > O3 2-Dec-2012 P2
> >
> > I want to show the details in UI as below
> >
> > O1 01-Dec-2012
> >
> >
> > On Sat, Nov 30, 2013 at 12:13 AM, subacini Arunkumar <subac...@gmail.com
> >wrote:
> >
> >> Hi
> >>
> >> We are using solr 4.4 . Please let me know the possible solutions to
> >> address my requirement.
> >>
> >> We have to fetch data from two tables Product , Order table.
> >>
> >> Product Table
> >>
> >> id Name
> >> P1 ipad
> >> P2 iphone 4
> >> P3 iphone 5
> >>
> >>
> >> Order Table
> >>
> >> id order date product_id
> >> O1
> >>
> >>
>
> --
> Walter Underwood
> wun...@wunderwood.org
>
>
>
>
  • Re: subacini Arunkumar
    • Re: Walter Underwood
      • Re: subacini Arunkumar
        • Re: Walter Underwood
          • Re: subacini Arunkumar
            • Re: Gora Mohanty
      • Re: Henrik Ossipoff Hansen

Reply via email to