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. > >