我正在使用Solr 5.2。 我做了以下事情:
solr create -c demo
demo/conf
文件夹中。
我添加了一个名为load_date
的字段,如下所示:<field name="load_date" type="string" indexed="true" stored="true" omitNorms="true"/>
<document name="xyz">
<entity name="input" query="select * from test" logLevel="debug" datasource="mbdev">
<field column="LOAD_DATE" name="load_date" />
</entity>
</document>
只有id
字段被填充,并且抱怨DataConfig中的字段load_date
在Solr Schema中没有对应字段。我检查了我对示例-DIH的更改,看不出任何区别。
我还注意到模式浏览器仅列出以下字段:
text
version
id
title
我不知道它指的是哪个 schema.xml 。我怎么能找到这个?
答案 0 :(得分:0)
发现 solrconfig 正在使用“ managed-schema.xml ”。
以下是解释托管架构的the wiki documentation。在使用字段名称更新托管架构后,我得到了它。
如果要使用 Schema.xml ('ClassicIndexSchemaFactory')而不是 managed-schema.xml ,则需要将以下字段类型添加到架构中。 XML
<fieldType name="booleans" class="solr.BoolField" sortMissingLast="true" multiValued="true"/>
<fieldType name="tdates" class="solr.TrieDateField" precisionStep="6" positionIncrementGap="0" multiValued="true"/>
<fieldType name="tlongs" class="solr.TrieLongField" precisionStep="8" positionIncrementGap="0" multiValued="true"/>
<fieldType name="tdoubles" class="solr.TrieDoubleField" precisionStep="8" positionIncrementGap="0" multiValued="true"/>
答案 1 :(得分:0)
您只需要遵循类型格式,即为字符串等添加_s
请参阅下面的名称和说明字段,使用您不需要触摸模式文件,它将使用此约定映射字段类型。
<document name="Reports">
<entity name="Report" dataSource="ds1" pk="id"
query = "select * from dbo.Roles">
<field column="RoleID" name="id"/>
<field column="RoleName" name="name_s"/>
<field column="Description" name="description_t"/>
</entity>