You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by William Bell <bi...@gmail.com> on 2014/01/27 06:30:12 UTC

Complication - can block joins help?

OK,

In order to do boosting, we often will create a dynamic field in SOLR. For
example:

A Professional hire out for work, I want to boost those who do
"woodworking".

George Smith - builds chairs, and builds desks. He builds the most desks in
the country (350 a year). And his closest competitor does 200 a year.

id (integer) = 1
name (string) =George Smith
work multiValued field = chairs, desks
num_desk (dynamic field num*) = 500

Then I would do something like:
q=num_desk^5.0

Is there a way to do this without a dynamic field?

I thought about a field: desk|500 (use bar delimiter). But couldn't see how
to have the value indexed to easily to a boost for those who do the most.

If you think of all the type of work, this could be 50,000 dynamic fields.
Probably a performance hog.





Dr. Smith
Angioplasty
Performs 70 of these a year



-- 
Bill Bell
billnbell@gmail.com
cell 720-256-8076

Re: Complication - can block joins help?

Posted by Mikhail Khludnev <mk...@griddynamics.com>.
On Mon, Jan 27, 2014 at 9:30 AM, William Bell <bi...@gmail.com> wrote:

> OK,
>
> In order to do boosting, we often will create a dynamic field in SOLR. For
> example:
>
> A Professional hire out for work, I want to boost those who do
> "woodworking".
>
> George Smith - builds chairs, and builds desks. He builds the most desks in
> the country (350 a year). And his closest competitor does 200 a year.
>
> id (integer) = 1
> name (string) =George Smith
> work multiValued field = chairs, desks
> num_desk (dynamic field num*) = 500
>

Hello William,

What if you model it something like

{
id: 1
name : "George Smith",
work: chairs
num: 500
},
{
id: 2
name : "George Smith",
work: desks
num: 300
}


>
> Then I would do something like:
> q=num_desk^5.0
>
> Is there a way to do this without a dynamic field?
>
> I thought about a field: desk|500 (use bar delimiter). But couldn't see how
> to have the value indexed to easily to a boost for those who do the most.
>
> If you think of all the type of work, this could be 50,000 dynamic fields.
> Probably a performance hog.
>
>
>
>
>
> Dr. Smith
> Angioplasty
> Performs 70 of these a year
>
>
>
> --
> Bill Bell
> billnbell@gmail.com
> cell 720-256-8076
>



-- 
Sincerely yours
Mikhail Khludnev
Principal Engineer,
Grid Dynamics

<http://www.griddynamics.com>
 <mk...@griddynamics.com>

Re: Complication - can block joins help?

Posted by Alexandre Rafalovitch <ar...@gmail.com>.
Have you seen this one:
http://hnagtech.wordpress.com/2013/04/19/using-payloads-with-solr-4-x/
?

Also, I can't tell where the "woodworking" as a term actually comes
from. Maybe a bit more domain description would help.

Regards,
   Alex.

Personal website: http://www.outerthoughts.com/
LinkedIn: http://www.linkedin.com/in/alexandrerafalovitch
- Time is the quality of nature that keeps events from happening all
at once. Lately, it doesn't seem to be working.  (Anonymous  - via GTD
book)


On Tue, Jan 28, 2014 at 1:55 PM, William Bell <bi...@gmail.com> wrote:
> Ideas?
>
>
> On Mon, Jan 27, 2014 at 12:10 AM, William Bell <bi...@gmail.com> wrote:
>
>> Is there an example for using payloads for 4.6?
>>
>> Without any custom code for this?
>>
>>
>> On Sun, Jan 26, 2014 at 10:30 PM, William Bell <bi...@gmail.com>wrote:
>>
>>> OK,
>>>
>>> In order to do boosting, we often will create a dynamic field in SOLR.
>>> For example:
>>>
>>> A Professional hire out for work, I want to boost those who do
>>> "woodworking".
>>>
>>> George Smith - builds chairs, and builds desks. He builds the most desks
>>> in the country (350 a year). And his closest competitor does 200 a year.
>>>
>>> id (integer) = 1
>>> name (string) =George Smith
>>> work multiValued field = chairs, desks
>>> num_desk (dynamic field num*) = 500
>>>
>>> Then I would do something like:
>>> q=num_desk^5.0
>>>
>>> Is there a way to do this without a dynamic field?
>>>
>>> I thought about a field: desk|500 (use bar delimiter). But couldn't see
>>> how to have the value indexed to easily to a boost for those who do the
>>> most.
>>>
>>> If you think of all the type of work, this could be 50,000 dynamic
>>> fields. Probably a performance hog.
>>>
>>>
>>>
>>>
>>>
>>> Dr. Smith
>>> Angioplasty
>>> Performs 70 of these a year
>>>
>>>
>>>
>>> --
>>> Bill Bell
>>> billnbell@gmail.com
>>> cell 720-256-8076
>>>
>>
>>
>>
>> --
>> Bill Bell
>> billnbell@gmail.com
>> cell 720-256-8076
>>
>
>
>
> --
> Bill Bell
> billnbell@gmail.com
> cell 720-256-8076

Re: Complication - can block joins help?

Posted by William Bell <bi...@gmail.com>.
Ideas?


On Mon, Jan 27, 2014 at 12:10 AM, William Bell <bi...@gmail.com> wrote:

> Is there an example for using payloads for 4.6?
>
> Without any custom code for this?
>
>
> On Sun, Jan 26, 2014 at 10:30 PM, William Bell <bi...@gmail.com>wrote:
>
>> OK,
>>
>> In order to do boosting, we often will create a dynamic field in SOLR.
>> For example:
>>
>> A Professional hire out for work, I want to boost those who do
>> "woodworking".
>>
>> George Smith - builds chairs, and builds desks. He builds the most desks
>> in the country (350 a year). And his closest competitor does 200 a year.
>>
>> id (integer) = 1
>> name (string) =George Smith
>> work multiValued field = chairs, desks
>> num_desk (dynamic field num*) = 500
>>
>> Then I would do something like:
>> q=num_desk^5.0
>>
>> Is there a way to do this without a dynamic field?
>>
>> I thought about a field: desk|500 (use bar delimiter). But couldn't see
>> how to have the value indexed to easily to a boost for those who do the
>> most.
>>
>> If you think of all the type of work, this could be 50,000 dynamic
>> fields. Probably a performance hog.
>>
>>
>>
>>
>>
>> Dr. Smith
>> Angioplasty
>> Performs 70 of these a year
>>
>>
>>
>> --
>> Bill Bell
>> billnbell@gmail.com
>> cell 720-256-8076
>>
>
>
>
> --
> Bill Bell
> billnbell@gmail.com
> cell 720-256-8076
>



-- 
Bill Bell
billnbell@gmail.com
cell 720-256-8076

Re: Complication - can block joins help?

Posted by William Bell <bi...@gmail.com>.
Is there an example for using payloads for 4.6?

Without any custom code for this?


On Sun, Jan 26, 2014 at 10:30 PM, William Bell <bi...@gmail.com> wrote:

> OK,
>
> In order to do boosting, we often will create a dynamic field in SOLR. For
> example:
>
> A Professional hire out for work, I want to boost those who do
> "woodworking".
>
> George Smith - builds chairs, and builds desks. He builds the most desks
> in the country (350 a year). And his closest competitor does 200 a year.
>
> id (integer) = 1
> name (string) =George Smith
> work multiValued field = chairs, desks
> num_desk (dynamic field num*) = 500
>
> Then I would do something like:
> q=num_desk^5.0
>
> Is there a way to do this without a dynamic field?
>
> I thought about a field: desk|500 (use bar delimiter). But couldn't see
> how to have the value indexed to easily to a boost for those who do the
> most.
>
> If you think of all the type of work, this could be 50,000 dynamic fields.
> Probably a performance hog.
>
>
>
>
>
> Dr. Smith
> Angioplasty
> Performs 70 of these a year
>
>
>
> --
> Bill Bell
> billnbell@gmail.com
> cell 720-256-8076
>



-- 
Bill Bell
billnbell@gmail.com
cell 720-256-8076