2016-07-22 47 views
0

我在本地环境中使用Solr 6.1.0。当使用config API来更改solr.extraction.ExtractingRequestHandler的行为时,这会以某种方式影响索引中的其他字段(并向managed-schema.xml中添加额外字段)。Solr配置API:json覆盖影响托管架构?

这会影响到几个字段,总是以相同的方式:content_type从查询结果中消失(仍在架构中,尽管!),而是有Content-Type(已添加到托管架构)。我<solr_url>/config/overlay看起来是这样的:

{ 
    "responseHeader":{ 
    "status":0, 
    "QTime":0}, 
    "overlay":{ 
    "znodeVersion":0, 
    "requestHandler":{"/update/extract":{ 
     "name":"/update/extract", 
     "class":"solr.extraction.ExtractingRequestHandler", 
     "defaults":{ 
      "fmap.content":"content", 
      "wt":"json", 
      "indent":true}, 
     "useParams":"fmap.content"}}}} 

索引工作正常(和使用content_type,如预期)时,这个覆盖是不存在的。我确信我在某个地方犯了一个错误,但我不知道在哪里(以及为什么)。

回答

1

你有useParams = fmap.content。这是对一组附加配置参数的引用。出于某种原因,它使用名称作为可能的参数之一,这可能是令人困惑的事情。

所以,这可能意味着你有一个params.json文件,其中有一段fmap.content和一些在那里定义的东西。包括那些改变默认值的设置。

具体来说,默认情况下以某种方式有一个名为lowernames设置为true的参数和您的覆盖禁用它。

+0

谢谢,我明白了。这个类有三个默认值,一个是'lowernames'。我以某种方式虽然'useParams:fmap.content'只会改变这个参数,并保留其他。通过他们所有的覆盖,它现在的作品。 – janrn