Re: [EXTERNAL] Re: How to merge child documents using DataImportHandler

2018-05-27 Thread David M Giannone
?



Sent via the Samsung Galaxy S® 6, an AT&T 4G LTE smartphone


 Original message 
From: Mikhail Khludnev 
Date: 5/27/18 3:23 PM (GMT-05:00)
To: solr-user 
Subject: [EXTERNAL] Re: How to merge child documents using DataImportHandler

Hello, Abhijit.
Have you tried to drop some of child=true? They usually cause slicing to
separate documents, rather than default "merge to root" mode.

On Sun, May 27, 2018 at 9:48 PM, Abhijit Pawar 
wrote:

> ​​
> Hello,
>
> I am using DataImportHandler to index data from mongoDB.
>
> Here's how my data-source-config file looks like:
>
> 
>  driver="com.mongodb.jdbc.MongoDriver" url="mongodb://< Address>>:27017/<>"/>
> 
> entityA(Root Entity) -   *products*
>entityB (child=true,pk=unique field) - *skus*
>   entityC - *attributevalues*
>  entityD - *attributenames*
> entityE(child=true,pk=unique field) - *skupricelist*
>
>
> When data is indexed separate  *skupricelist* documents are created for
> each attribute (since *skupricelist* is child of *skus* and under
> *attributenames*).How can I merge / join the all those skupricelist
> documents with all attributes in same document?
>
> example :
> Right now the documents created are as follows:
>
> Separate document 1
> {
> 'PRODUCT NAME':'ABC',
> 'SKU NAME':'ABC-1',
> 'Color':'Red',
> 'SKUPricelist':'SKUPricelistA'
> }
>
> Separate document 2
> {
> 'PRODUCT NAME':'ABC',
> 'SKU':'ABC-1',
> 'Size':'10',
> 'SKUPricelist':'SKUPricelistA'
> }
>
> Separate document 3
> {
> 'PRODUCT NAME':'ABC',
> 'SKU':'ABC-1',
> 'Type':'Leather',
> 'SKUPricelist':'SKUPricelistA'
> }
>
> Is there a way I can join them like this?
>
> {
> 'PRODUCT NAME':'ABC',
> 'SKU':'ABC-1',
> 'Color':'Red',
> 'Size':'10',
> 'Type':'Leather',
> 'SKUPricelist':'SKUPricelistA'
> }
>
> Thank You.
> Regards,
>
> Abhijit
>



--
Sincerely yours
Mikhail Khludnev


Nothing in this message is intended to constitute an electronic signature 
unless a specific statement to the contrary is included in this message.

Confidentiality Note: This message is intended only for the person or entity to 
which it is addressed. It may contain confidential and/or privileged material. 
Any review, transmission, dissemination or other use, or taking of any action 
in reliance upon this message by persons or entities other than the intended 
recipient is prohibited and may be unlawful. If you received this message in 
error, please contact the sender and delete it from your computer.


Re: How to merge child documents using DataImportHandler

2018-05-27 Thread Abhijit Pawar
Hi Mikhail,

Yes I already tried that dropping child=true for skupricelist document.
However then it does not index data from that collection at all.

I need it as I am inheriting some properties from skus collection and some
from attributevalues and attributenames collection.
Also here data from  skus, attributevalues and  attributenames collecitions
is already merged under same document.
However data from skupricelist data is split into separate documents for
every attribute.

Regards,

Abhijit


On Sun, May 27, 2018 at 2:24 PM Mikhail Khludnev  wrote:

> Hello, Abhijit.
> Have you tried to drop some of child=true? They usually cause slicing to
> separate documents, rather than default "merge to root" mode.
>
> On Sun, May 27, 2018 at 9:48 PM, Abhijit Pawar  >
> wrote:
>
> > ​​
> > Hello,
> >
> > I am using DataImportHandler to index data from mongoDB.
> >
> > Here's how my data-source-config file looks like:
> >
> > 
> >  > driver="com.mongodb.jdbc.MongoDriver" url="mongodb://< > Address>>:27017/<>"/>
> > 
> > entityA(Root Entity) -   *products*
> >entityB (child=true,pk=unique field) - *skus*
> >   entityC - *attributevalues*
> >  entityD - *attributenames*
> > entityE(child=true,pk=unique field) - *skupricelist*
> >
> >
> > When data is indexed separate  *skupricelist* documents are created for
> > each attribute (since *skupricelist* is child of *skus* and under
> > *attributenames*).How can I merge / join the all those skupricelist
> > documents with all attributes in same document?
> >
> > example :
> > Right now the documents created are as follows:
> >
> > Separate document 1
> > {
> > 'PRODUCT NAME':'ABC',
> > 'SKU NAME':'ABC-1',
> > 'Color':'Red',
> > 'SKUPricelist':'SKUPricelistA'
> > }
> >
> > Separate document 2
> > {
> > 'PRODUCT NAME':'ABC',
> > 'SKU':'ABC-1',
> > 'Size':'10',
> > 'SKUPricelist':'SKUPricelistA'
> > }
> >
> > Separate document 3
> > {
> > 'PRODUCT NAME':'ABC',
> > 'SKU':'ABC-1',
> > 'Type':'Leather',
> > 'SKUPricelist':'SKUPricelistA'
> > }
> >
> > Is there a way I can join them like this?
> >
> > {
> > 'PRODUCT NAME':'ABC',
> > 'SKU':'ABC-1',
> > 'Color':'Red',
> > 'Size':'10',
> > 'Type':'Leather',
> > 'SKUPricelist':'SKUPricelistA'
> > }
> >
> > Thank You.
> > Regards,
> >
> > Abhijit
> >
>
>
>
> --
> Sincerely yours
> Mikhail Khludnev
>


Re: How to merge child documents using DataImportHandler

2018-05-27 Thread Mikhail Khludnev
Hello, Abhijit.
Have you tried to drop some of child=true? They usually cause slicing to
separate documents, rather than default "merge to root" mode.

On Sun, May 27, 2018 at 9:48 PM, Abhijit Pawar 
wrote:

> ​​
> Hello,
>
> I am using DataImportHandler to index data from mongoDB.
>
> Here's how my data-source-config file looks like:
>
> 
>  driver="com.mongodb.jdbc.MongoDriver" url="mongodb://< Address>>:27017/<>"/>
> 
> entityA(Root Entity) -   *products*
>entityB (child=true,pk=unique field) - *skus*
>   entityC - *attributevalues*
>  entityD - *attributenames*
> entityE(child=true,pk=unique field) - *skupricelist*
>
>
> When data is indexed separate  *skupricelist* documents are created for
> each attribute (since *skupricelist* is child of *skus* and under
> *attributenames*).How can I merge / join the all those skupricelist
> documents with all attributes in same document?
>
> example :
> Right now the documents created are as follows:
>
> Separate document 1
> {
> 'PRODUCT NAME':'ABC',
> 'SKU NAME':'ABC-1',
> 'Color':'Red',
> 'SKUPricelist':'SKUPricelistA'
> }
>
> Separate document 2
> {
> 'PRODUCT NAME':'ABC',
> 'SKU':'ABC-1',
> 'Size':'10',
> 'SKUPricelist':'SKUPricelistA'
> }
>
> Separate document 3
> {
> 'PRODUCT NAME':'ABC',
> 'SKU':'ABC-1',
> 'Type':'Leather',
> 'SKUPricelist':'SKUPricelistA'
> }
>
> Is there a way I can join them like this?
>
> {
> 'PRODUCT NAME':'ABC',
> 'SKU':'ABC-1',
> 'Color':'Red',
> 'Size':'10',
> 'Type':'Leather',
> 'SKUPricelist':'SKUPricelistA'
> }
>
> Thank You.
> Regards,
>
> Abhijit
>



-- 
Sincerely yours
Mikhail Khludnev


How to merge child documents using DataImportHandler

2018-05-27 Thread Abhijit Pawar
​​
Hello,

I am using DataImportHandler to index data from mongoDB.

Here's how my data-source-config file looks like:




entityA(Root Entity) -   *products*
   entityB (child=true,pk=unique field) - *skus*
  entityC - *attributevalues*
 entityD - *attributenames*
entityE(child=true,pk=unique field) - *skupricelist*


When data is indexed separate  *skupricelist* documents are created for
each attribute (since *skupricelist* is child of *skus* and under
*attributenames*).How can I merge / join the all those skupricelist
documents with all attributes in same document?

example :
Right now the documents created are as follows:

Separate document 1
{
'PRODUCT NAME':'ABC',
'SKU NAME':'ABC-1',
'Color':'Red',
'SKUPricelist':'SKUPricelistA'
}

Separate document 2
{
'PRODUCT NAME':'ABC',
'SKU':'ABC-1',
'Size':'10',
'SKUPricelist':'SKUPricelistA'
}

Separate document 3
{
'PRODUCT NAME':'ABC',
'SKU':'ABC-1',
'Type':'Leather',
'SKUPricelist':'SKUPricelistA'
}

Is there a way I can join them like this?

{
'PRODUCT NAME':'ABC',
'SKU':'ABC-1',
'Color':'Red',
'Size':'10',
'Type':'Leather',
'SKUPricelist':'SKUPricelistA'
}

Thank You.
Regards,

Abhijit