如何在SOLR模式文件中的单个节点内创建绑定多个节点

时间:2013-06-07 10:00:53

标签: solr solrnet

我使用SOLR作为我的搜索查询数据库。 我在SOLR中的节点内绑定多个节点(集合)时遇到困难。任何机构都可以告诉我相同的架构。

我的文件如下

namespace SOLRApp
{
    public class Table1Document
    {
        public Table1Document()
        {
            MobileNos = new List<int>();
            EducationalDetails = new List<EducationalDetails>();
        }

        [SolrField("FirstName")]
        public string FirstName { get; set; }

        [SolrField("MobileNos")]
        public List<int> MobileNos { get; set; }

        [SolrField("EducationalDetails")]
        public List<EducationalDetails> EducationalDetails { get; set; }

    }

    public class EducationalDetails
    {
        public EducationalDetails()
        {
            Details = new List<Details>();
        }

        public List<Details> Details { get; set; }
    }

    public class Details
    {
        [SolrField("IntitutionName")]
        public string IntitutionName { get; set; }

        [SolrField("EnrollDate")]
        public DateTime EnrollDate { get; set; }

        [SolrField("PassoutDate")]
        public DateTime PassoutDate { get; set; }

        [SolrField("InstituteRating")]
        public int InstituteRating { get; set; }
    }
}

我的架构文件如下所示。

        <field name="FirstName" type="string" indexed="true" stored="true"/>
        <field name="MobileNos" type="string" indexed="true" stored="true" multiValued="true" />
        <field name="EducationalDetails" type="EducationalDetails" indexed="true" stored="true" multiValued="true">
            <field name="Details" type="string" indexed="true" stored="true" multiValued="true">
                <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>
        </field>

我的主要问题是'EducationalDetails'节点的类型是什么。这给了我

的错误
Cannot initialize type 'SOLR.EducationalDetails' with a collection initializer because it does not implement 'System.Collections.IEnumerable'. 

我想知道如何在SOLR中添加用户定义的数据类型。就像在我的例子中一样,'EducationalDetails'是用户定义的数据类型(类)。任何人都可以告诉我如何在SOLR中添加它。

提前谢谢。

0 个答案:

没有答案