如何在标记为" indexed = true"的字段中删除solr中的索引。在架构中

时间:2015-12-22 16:52:55

标签: solr

如何在模式中标记为indexed=true的字段中删除SOLR中的索引 我有solrschema.xml过去被某人修改过。所以,现在我有一些标有indexed=true的字段,但我不希望它们被编入索引。我可以制作它们indexed=false然后重新索引我的收藏品,如果没有,我该怎么办?

1 个答案:

答案 0 :(得分:0)

从索引中删除特定字段没有直接的解决方案。

  • 如果您没有任何空间或资源限制,可以采取以下解决方法 -
  

使用新配置创建索引并启用数据导入处理程序。

<requestHandler name="/dataimport" class="solr.DataImportHandler">
    <lst name="defaults">
      <str name="config">data-config.xml</str>
    </lst>
  </requestHandler>
  

上传数据配置文件以及集合配置文件 -

<dataConfig>
  <document>
    <entity name="sep" processor="SolrEntityProcessor" url="http://xyz:8983/solr/<old collection name>" query="*:*"/>
  </document>
</dataConfig>
  

从solr admin UI运行完整刷新数据导入处理程序。

     

索引完成后,删除旧集合。

curl -i 'http://test:8983/solr/admin/collections?action=DELETE&name=<old collection>'
  

如果您需要与旧集合相同的新集合名称,请创建新集合的别名。

http://test:8983/solr/admin/collections?action=CREATEALIAS&name=testalias&collections=anotherCollection,testCollection

有关详细信息,请浏览solr wiki