新的FIELDS未在搜索中显示

时间:2015-06-01 11:47:03

标签: mysql solr dataimporthandler solr5

我做了一个基本的solr设置,配置了dataImportHandler并创建了非常简单的数据配置文件,其中包含两个字段并将其编入索引。这一切都很好..但是现在我在那里添加新字段并在那之后进行完全导入但由于某种原因新搜索结果中没有显示新字段(使用solr接口进行搜索)。我尝试重新启动solr,运行config-reload无效。

这是我的数据配置文件。不确定这里有什么问题。

<dataConfig>
    <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/msl4" user="root" password=""/>
    <document>
        <entity name="hub_contents" query="select * from hub_contents" deltaQuery="select * from hub_contents where last_modified > '${dataimporter.last_index_time}'">

            <field column="id_original" name="id" />
            <field column="title" name="title" />
            <field column="parent_id" name="parent_id" />
            <field column="item_type" name="item_type" />
            <field column="status" name="status" />
            <field column="updated_at" name="updated_at" />


        </entity>
    </document>
</dataConfig>

1 个答案:

答案 0 :(得分:1)

您可以在schema.xml中添加以下字段

<field name="id" type="long" indexed="true" stored="true"/>
<field name="title" type="text_general" indexed="true" stored="true"/>
<field name="parent_id" type="long" indexed="true" stored="true"/>
<field name="item_type" type="text_general" indexed="true" stored="true"/>
<field name="status" type="text_general" indexed="true" stored="true" />
<field name="updated_at" type="date" indexed="true" stored="true"/>

根据您的要求,您需要添加哪种类型(fieldType)。

  • 已编入索引 true 如果此字段应编入索引(可搜索或 排序)
  • 如果此字段应可检索,则
  • 存储 true

添加以下标记:

<uniqueKey>id</uniqueKey>

这用于确定和强制执行文档唯一性。