You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ofbiz.apache.org by Adrian Crum <ad...@sandglass-software.com> on 2012/01/14 01:59:49 UTC

Stop The Madness: Indexing keyword EECAs

I tried to find out why a data import for a bespoke (made-to-order) 
manufacturer was taking WAY too long. Turns out it was keyword indexing 
EECAs.

Each product has dozens of product features, and it also has a 
manufacturer ID. The indexProductKeywords is called for the product, 
each product feature, and the ID. As a result, one product takes several 
seconds to store.

Then the BOM for each product needs to be imported. The 
indexWorkEffortKeywords service is called for each work effort in the 
BOM. Why do I want my BOM work efforts keyword indexed?

This is insane. Why would anyone set up EECAs like that?

I would like to turn those EECA services into jobs that run on a regular 
basis, so real work can get done in real time.

What do you think?

-Adrian


Re: Stop The Madness: Indexing keyword EECAs

Posted by Hans Bakker <ma...@antwebsystems.com>.
forgot to mention, that re-creating keywords, these jobs already exist.....

On 01/14/2012 08:04 AM, Hans Bakker wrote:
> Hi Adrian,
>
> For a large product load we disable the seca's  temporarily and after 
> the load enable them again...
> When people enter new single products sometimes they try to find these 
> straight away.... under the current scheme is working fine....
>
> sorry do not see the madness here....the end of a hard working day?
>
> Regards,
> Hans
>
>
> On 01/14/2012 07:59 AM, Adrian Crum wrote:
>> I tried to find out why a data import for a bespoke (made-to-order) 
>> manufacturer was taking WAY too long. Turns out it was keyword 
>> indexing EECAs.
>>
>> Each product has dozens of product features, and it also has a 
>> manufacturer ID. The indexProductKeywords is called for the product, 
>> each product feature, and the ID. As a result, one product takes 
>> several seconds to store.
>>
>> Then the BOM for each product needs to be imported. The 
>> indexWorkEffortKeywords service is called for each work effort in the 
>> BOM. Why do I want my BOM work efforts keyword indexed?
>>
>> This is insane. Why would anyone set up EECAs like that?
>>
>> I would like to turn those EECA services into jobs that run on a 
>> regular basis, so real work can get done in real time.
>>
>> What do you think?
>>
>> -Adrian
>>
>


Re: Stop The Madness: Indexing keyword EECAs

Posted by Hans Bakker <ma...@antwebsystems.com>.
Hi Adrian,

For a large product load we disable the seca's  temporarily and after 
the load enable them again...
When people enter new single products sometimes they try to find these 
straight away.... under the current scheme is working fine....

sorry do not see the madness here....the end of a hard working day?

Regards,
Hans


On 01/14/2012 07:59 AM, Adrian Crum wrote:
> I tried to find out why a data import for a bespoke (made-to-order) 
> manufacturer was taking WAY too long. Turns out it was keyword 
> indexing EECAs.
>
> Each product has dozens of product features, and it also has a 
> manufacturer ID. The indexProductKeywords is called for the product, 
> each product feature, and the ID. As a result, one product takes 
> several seconds to store.
>
> Then the BOM for each product needs to be imported. The 
> indexWorkEffortKeywords service is called for each work effort in the 
> BOM. Why do I want my BOM work efforts keyword indexed?
>
> This is insane. Why would anyone set up EECAs like that?
>
> I would like to turn those EECA services into jobs that run on a 
> regular basis, so real work can get done in real time.
>
> What do you think?
>
> -Adrian
>


Re: Stop The Madness: Indexing keyword EECAs

Posted by Adrian Crum <ad...@sandglass-software.com>.
Thanks Jacopo.

I noticed that flag, but I'm not sure that will solve the problem. I 
wonder if we could make the keyword indexing service call async?

Ideally, the keyword indexing implementation should be made smarter, or 
more configurable, or something. Right now it seems to take a brute 
force approach and index everything.

-Adrian

On 1/15/2012 6:15 AM, Jacopo Cappellato wrote:
> There is a flag in the Product entity that can beused to prevent the creation of product keywords; unfortunately the flag is ignored by the eca associated to the features of the product (imo this is something we should fix).
>
> Kind regards,
>
> Jacopo
>
> On Jan 14, 2012, at 1:59 AM, Adrian Crum wrote:
>
>> I tried to find out why a data import for a bespoke (made-to-order) manufacturer was taking WAY too long. Turns out it was keyword indexing EECAs.
>>
>> Each product has dozens of product features, and it also has a manufacturer ID. The indexProductKeywords is called for the product, each product feature, and the ID. As a result, one product takes several seconds to store.
>>
>> Then the BOM for each product needs to be imported. The indexWorkEffortKeywords service is called for each work effort in the BOM. Why do I want my BOM work efforts keyword indexed?
>>
>> This is insane. Why would anyone set up EECAs like that?
>>
>> I would like to turn those EECA services into jobs that run on a regular basis, so real work can get done in real time.
>>
>> What do you think?
>>
>> -Adrian
>>

Re: Stop The Madness: Indexing keyword EECAs

Posted by Jacopo Cappellato <ja...@hotwaxmedia.com>.
There is a flag in the Product entity that can beused to prevent the creation of product keywords; unfortunately the flag is ignored by the eca associated to the features of the product (imo this is something we should fix).

Kind regards,

Jacopo

On Jan 14, 2012, at 1:59 AM, Adrian Crum wrote:

> I tried to find out why a data import for a bespoke (made-to-order) manufacturer was taking WAY too long. Turns out it was keyword indexing EECAs.
> 
> Each product has dozens of product features, and it also has a manufacturer ID. The indexProductKeywords is called for the product, each product feature, and the ID. As a result, one product takes several seconds to store.
> 
> Then the BOM for each product needs to be imported. The indexWorkEffortKeywords service is called for each work effort in the BOM. Why do I want my BOM work efforts keyword indexed?
> 
> This is insane. Why would anyone set up EECAs like that?
> 
> I would like to turn those EECA services into jobs that run on a regular basis, so real work can get done in real time.
> 
> What do you think?
> 
> -Adrian
>