It Depends (tm). You have a lot of options, and it all depends on your data and use-case. In general, there is very little cost involved when a doc does _not_ use a field you've defined in a schema. That is, if you have 100's of fields defined and only use 10, the other 90 don't take up space in each doc. There is some overhead with many many fields, but probably not so you'd notice.
1> you could have a single schema that contains all your fields and use it amongst a bunch of indexes (cores). This is particularly easy in the new "configset" pattern. 2> You could have a single schema that contains all your fields and use it in a single index. That index could contain all your different docs with, say, a "type" field to let you search subsets easily. 3> You could have a different schema for each index and put all of the docs in the same index. <1> I don't really like at all. If you're going to have different indexes, I think it's far easier to maintain if there are individual schemas. Between, <2> and <3> it's a tossup. <2> will skew the relevance calculations because all the terms are in a single index. So your relevance calculations for students will be influenced by the terms in courses docs and vice-versa. That said, you may not notice as it's subtle. I generally prefer <3> but I've seen <2> serve as well. Best, Erick On Tue, Nov 4, 2014 at 9:34 PM, Vishal Sharma <vish...@grazitti.com> wrote: > This is something I have been thinking for a long time now. > > What is the best practice for setting up the Schemas for documents having > different fields? > > Should we just create one schema with lot of fields or multiple schemas for > different data structures? > > Here is an example: I have two objects students and courses: > > Student: > > - Student Name > - Student Registration number > - Course Enrolled for > > Course: > > - Course ID > - Course Name > - Course duration > > What should the ideal schema setup should look like? > > Any guidance would is strongly appreciated. > > > > *Vishal Sharma** Team Lead, Grazitti Interactive*T: +1 > 650 641 1754 > E: vish...@grazitti.com > www.grazitti.com [image: Description: LinkedIn] > <http://www.linkedin.com/company/grazitti-interactive>[image: Description: > Twitter] <https://twitter.com/grazitti>[image: fbook] > <https://www.facebook.com/grazitti.interactive>