Hi,
First off, I'm about a week into all things Solr, and still trying to figure
out how to fit my relational-shaped peg through a denormalized hole. Please
forgive my ignorance below :-D
I have the need store a One-to-N type relationship, and perform a boost a
related field.
Let's say I want to index a number of different types of candy, and also a
customer's preference for each type of candy (which I index/update when a
customer makes a purchase), and then boost by that preference on search.
Here is my paired-down attempt at a denormalized schema:
<! -- Common Fields -- >
<field name="id" type="string" indexed="true" stored="true" required="true"
/>
<field name="type" type="string" indexed="true" stored="true"
required="true" />
<! -- Fields for 'candy' -- >
<field name="name" type="text_general" indexed="true" stored="true"/>
<field name="description" type="text_general" indexed="true" stored="true"/>
<! -- Fields for Customer-Candy Preference ('preference') -- >
<field name="user" type="integer" indexed="true" stored="true">
<field name="candy" type="integer" indexed="true" stored="true">
<field name="weight" type="integer" indexed="true" stored="true"
default="0">
I am indexing 'candy' and 'preferences' separately, and when indexing one, I
leave the fields of the other empty (with the exception of the required 'id'
and 'type').
Ignoring the query score, this is effectively what I'm looking to do in SQL:
SELECT candy.id, candy.name, candy.description FROM candy
LEFT JOIN preference ON (preference.candy = candy.id AND preference.customer
= 'someCustomerID')
// Where some match is made on query against candy.name or candy.description
ORDER BY preference.weight DESC
My questions are:
1.) Am I making any assumptions with respect to what are effectively
different document types in the schema that will not scale well? I don't
think I want to be duplicating each 'candy' entry for every customer, or
maybe that wouldn't be such a big deal in Solr.
2.) Can someone point me in the right direction on how to perform this type
of boost in a Solr query?
Thanks in advance,
Nick
--
View this message in context:
http://lucene.472066.n3.nabble.com/Boost-by-Nested-Query-Join-Needed-tp3987818.html
Sent from the Solr - User mailing list archive at Nabble.com.