I don't like the analogy of trying to map an RDB to Solr directly because
they are fundamentally different. Solr stores documents with a unique ID but
no relations to other documents or document stores to allow for
relationships. Therefore, you can denormalize your data and store both
project and user information; however, I am not sure I would want to store
say 10K project-ids for one user in the index.. it doesn't seem worth it.

You seem better off storing only as much information as you want indexed for
ranking and eventual lookup into your relational store once you get results
back. One thought is to use multiple cores and store user data in one index
and project data in another index.

If you want to have one box query both projects and users, either store all
that information in a single index or federate.

Hope it helps some
Amit

On Wed, Oct 21, 2009 at 6:43 AM, ashokcz <ashokkumar.gane...@tcs.com> wrote:

>
> Hi All ,
> sorry for bringing this thread up . but wanted to know answers for my
> original question.
> (having relational mapping and reducing the index time .....)
> Have to do this implementation soon .
> So accordingly i can design .
>
>
>
> ashokcz wrote:
> >
> > Hi Jerome ,
> > thanks for your response.
> > I never knew about multivalued fields.
> > Will give a try about it and see if that suits my need.
> >
> >
> > But i dont understand this
> > * You could have a mixed index with user and project entries in the
> > same index, so if you search for a name, you'd find users and projects
> > matching that name.
> >
> > Could you please tell me in detail as how i can do that.
> >
> >
> > Jérôme Etévé wrote:
> >>
> >> Hi,
> >>
> >>  here's what you could do:
> >>
> >> * Use multivalued fields instead of 'comma separated values', so you
> >> won't need a separator.
> >> * Store project identifiers in the user index.
> >>
> >> Denormalised projects informations in a user entry will fatally need
> >> re-indexing lot of user entries when project info changes.
> >>
> >> * You could have a mixed index with user and project entries in the
> >> same index, so if you search for a name, you'd find users and projects
> >> matching that name.
> >>
> >> Jerome.
> >>
> >> 2009/10/19 ashokcz <ashokkumar.gane...@tcs.com>:
> >>>
> >>> Hi i browsed through the solr docs and user forums and what i infer is
> >>> we
> >>> cant use solr to store Relational
> >>> Mapping(foreign key) in solr .
> >>>
> >>> but just want to know if any chances of doing the same.
> >>>
> >>> I have two tables User table (with 1,00,000 entries )  and project
> table
> >>> with (200 entries ).
> >>> User table columns : userid , name ,country , location , etc.
> >>> Project tables Columns : project name , description , business unit ,
> >>> project type .
> >>> Here User Location , Country , Project  Name , Project  business unit ,
> >>> project type are faceted
> >>> A user can be mapped to multiple projects.
> >>> In solr i store the details like this ....
> >>> [
> >>> {
> >>> userId:1234;
> >>> userName:ABC;
> >>> Country:US;
> >>> Location:NY;
> >>> Project Name:Project1,Project2;
> >>> Project Description:Project1,Project2;
> >>> Project  business unit:unit1,unit2;
> >>> Project type:Type1,Type2
> >>> }
> >>> ]
> >>>
> >>> With this structure i could get faceted details about both user data
> and
> >>> project data .
> >>>
> >>> But here i face 2 Problems .
> >>>
> >>> 1.A project can be mapped to many users say 10,000 Users . So if i
> >>> change a
> >>> project name then i end
> >>> up indexing 10,000 Records which is a very time consuming work.
> >>>
> >>> 2.for Fields like Project Description i could not find any proper
> >>> delimiter
> >>> . for other fields comma (,) is
> >>>
> >>> okay but being description i could not use any specific delimiter .This
> >>> is
> >>> not faceted but still in search results i need to take this out and
> show
> >>> the
> >>> project details in tabular format. and i use delimiter to split it .For
> >>> other  project fields like Project Name and Type i could do it but not
> >>> for
> >>> this Project Description field
> >>>
> >>> So i expect is there any way of storing the data as relational records
> >>> like
> >>> in user details where we will have field called project Id and data
> will
> >>> be
> >>> 1,2 which refers to project records primary key in solr and still
> >>> preserve
> >>> the faceted approach.
> >>>
> >>> As for my knowledge my guess is it cant be done ???
> >>> Am i correct ???
> >>> If so then how we can achieve the solutions to my problem??
> >>> Pls if someone could share some ideas it will be useful.
> >>> --
> >>> View this message in context:
> >>>
> http://www.nabble.com/Is-Relational-Mapping-%28foreign-key%29-possible-in-solr----tp25955068p25955068.html
> >>> Sent from the Solr - User mailing list archive at Nabble.com.
> >>>
> >>>
> >>
> >>
> >>
> >> --
> >> Jerome Eteve.
> >> http://www.eteve.net
> >> jer...@eteve.net
> >>
> >>
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/Is-Relational-Mapping-%28foreign-key%29-possible-in-solr----tp25955068p25992819.html
> Sent from the Solr - User mailing list archive at Nabble.com.
>
>

Reply via email to