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