You can create your own types with the <fieldType />
tag, for example:
<fieldType name="cstring" class="solr.TextField" sortMissingLast="true" omitNorms="true">
<analyzer>
<tokenizer class="solr.KeywordTokenizerFactory" />
<filter class="solr.TrimFilterFactory" updateOffsets="true" />
<filter class="solr.PatternReplaceFilterFactory" pattern="\s+$" replacement="" />
<filter class="solr.ASCIIFoldingFilterFactory" />
</analyzer>
</fieldType>
However, as you can notice it's nothing like you want. The stuff you want (subfields, ...) is not possible with Solr. Solr is a document based store, not an "object" store or how you want to see it.
The best solution I can come up with is to create multiple "types" of documents. You scheme should look like:
<field name="ID" type="int" indexed="true" stored="true"/>
<field name="FirstName" type="string" indexed="true" stored="true"/>
<field name="LastName" type="string" indexed="true" stored="true" />
<field name="MobileNos" type="string" indexed="true" stored="true" multiValued="true" />
<!-- Education details -->
<field name="IntitutionName" type="string" indexed="true" stored="true"/>
<field name="EnrollDate" type="date" indexed="true" stored="true"/>
<field name="PassoutDate" type="date" indexed="true" stored="true"/>
<field name="InstituteRating" type="string" indexed="true" stored="true"/>
<field name="DocumentID" type="int" indexed="true" stored="true"/>
<field name="Type" type="string" indexed="true" stored="true"/>
If you add a Table1Document to Solr, you only provide the ID, FirstName, LastName and MobileNos fields (and additionally you can use the Type field and add "Table1Document"
If you add an EducationDetails object, you only provide the InstitutionName, EnrollDate, PassoutDate and InstituteRating field. In the DocumentID field you put a reference to the ID of the Table1Document they should belong to. In the Type field you can add "EducationDetails".
If you now want to retrieve your Table1Document you use a query like:
type:Table1Document AND id:1
To get the EducationDetails that belong to it you can use a query like:
type:EducationDetails AND DocumentID:1
Afterwards you can still construct an object with the structure you like.