【问题标题】:Solr Config API: json overlay affecting managed-schema?Solr Config API:影响托管模式的 json 覆盖?
【发布时间】:2016-11-26 06:13:57
【问题描述】:

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

这会影响一些字段,总是以相同的方式: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,正如预期的那样)。我确定我在某个地方犯了错误,但我不知道在哪里(以及为什么)。

【问题讨论】:

    标签: solr


    【解决方案1】:

    您有 useParams=fmap.content。这是对一组附加配置参数的引用。出于某种原因,它使用名称作为可能的参数之一,这可能会造成混淆。

    因此,这可能意味着您有一个 params.json 文件,其中包含一个 fmap.content 部分和其中定义的一些内容。包括更改默认设置的其他设置。

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

    【讨论】:

    • 谢谢,我明白了。该类共有三个默认值,一个是lowernames。我以某种方式虽然useParams:fmap.content 只会更改此参数并保留其他参数。将它们全部传递给叠加层,它现在可以工作了。
    猜你喜欢
    • 1970-01-01
    • 2016-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-14
    • 2020-04-12
    相关资源
    最近更新 更多