什么是Solr视角缩放是什么意思和分布

请登录查看
关于本指南本指南介绍了 Apache Solr 的所有重要特性和功能。您可以从&&免费下载 Solr。本指南旨在让您更了解 Solr。该指南的结构是满足广泛学习用户的需求,从新的开发人员开始到经验丰富的开发人员扩展他们的应用程序或故障排除。它将在应用程序生命周期的任何时候使用,只要您需要有关 Solr 的任何信息。本教程中所提供的材料假设您熟悉一些基本的搜索概念,并且您可以阅读 XML,您不需要是一名专业的 Java 程序员,尽管 Java 的知识在直接使用 lucene 或在开发 lucene/Solr 安装的自定义扩展时很有用。主机和端口示例运行 Solr 时的默认端口为 8983。本指南中的示例、URL 和屏幕截图可能会显示在不同的端口,因为 Solr 使用的端口号是可配置的。如果您尚未自定义 Solr 的安装,请确保在执行以下示例时使用端口 8983,或配置您自己的安装以使用示例中显示的端口号。有关配置端口号的信息,请您参阅 “管理Solr” 一节。类似地,URL 示例始终使用本地主机&localhost;如果您要从远程访问 solr 的服务器所在的位置进行存取,请将 localhost 替换为 solr 正在运行的适当域或 IP。例如,我们可以提供一个示例查询,如:http://localhost:8983/solr/gettingstarted/select?q=brown+cow您可能需要在本地更改此 URL 中的几个项目。首先,如果您的服务器运行在 “www.example.com” 上,您将用适当的域替换 “localhost”。如果您没有使用端口8983,那么您也可以替换它。最后,您将希望将“gettingstarted”(集合或核心名称)替换为在实现中使用的适当名称。URL 将会变成:http://www.example.com/solr/mycollection/select?q=brown+cow路径路径信息是相对于 solr.home 给出的,它是 solr 的主要安装位置,solr 的集合及其 conf 和 data 目录都存储在这里。当运行本教程中提到的各种示例(即,bin/solr -e techproducts),solr.home 将是为您自动创建的 example/ 创建的子目录。
意见反馈:
联系方式:
广告等垃圾信息
不友善内容
违反法律法规的内容
不宜公开讨论的政治内容请登录查看
Solr 版本信息
version 命令只是返回当前安装的 Solr 版本,并且立即存在。$ bin/solr version
Solr 状态信息
status 命令显示在本地系统上运行的任何 Solr 节点的基本 JSON 格式的信息。
status 命令使用 SOLR_PID_DIR 环境变量来定位 Solr 进程 ID 文件以查找正在运行的 Solr 实例,默认情况下是 bin 目录。bin/solr status
输出将包含群集中每个节点的状态,如下例所示:找到2个 Solr 节点:
Solr process 39920 running on port 7574
"solr_home":"/Applications/Solr/example/cloud/node2/solr/",
"version":"X.Y.0",
"startTime":"T17:19:54.739Z",
"uptime":"1 days, 23 hours, 55 minutes, 48 seconds",
"memory":"77.2 MB (%15.7) of 490.7 MB",
"ZooKeeper":"localhost:9865",
"liveNodes":"2",
"collections":"2"}}
Solr process 39827 running on port 8865
"solr_home":"/Applications/Solr/example/cloud/node1/solr/",
"version":"X.Y.0",
"startTime":"T17:19:49.057Z",
"uptime":"1 days, 23 hours, 55 minutes, 54 seconds",
"memory":"94.2 MB (%19.2) of 490.7 MB",
"ZooKeeper":"localhost:9865",
"liveNodes":"2",
"collections":"2"}}
Healthcheck在 SolrCloud 模式下运行时,healthcheck&命令将为集合生成 JSON 格式的运行状况报告。运行状况报告提供有关集合中所有碎片的每个副本状态的信息,包括已提交文档的数量及其当前状态。bin/solr healthcheck [options]
bin/solr healthcheck -help
健康检查参数
-c &collection&
(要求)运行健康检查的集合的名称。例如:bin/solr healthcheck -c gettingstarted
-z &zkhost&
ZooKeeper 连接字符串,默认为localhost:9983。如果您在8983以外的端口上运行 Solr,则必须指定 ZooKeeper 连接字符串。默认情况下,这将是 Solr 端口 + 1000。例如:bin/solr healthcheck -z localhost:2181
以下是使用非标准 ZooKeeper 连接字符串运行的 healthcheck 请求和响应示例,其中包含2个节点:$ bin/solr healthcheck -c gettingstarted -z localhost:9865
"collection":"gettingstarted",
"status":"healthy",
"numDocs":0,
"numShards":2,
"shards":[
"shard":"shard1",
"status":"healthy",
"replicas":[
"name":"core_node1",
"url":"http://10.0.1.10:8865/solr/gettingstarted_shard1_replica2/",
"numDocs":0,
"status":"active",
"uptime":"2 days, 1 hours, 18 minutes, 48 seconds",
"memory":"25.6 MB (%5.2) of 490.7 MB",
"leader":true},
"name":"core_node4",
"url":"http://10.0.1.10:7574/solr/gettingstarted_shard1_replica1/",
"numDocs":0,
"status":"active",
"uptime":"2 days, 1 hours, 18 minutes, 42 seconds",
"memory":"95.3 MB (%19.4) of 490.7 MB"}]},
"shard":"shard2",
"status":"healthy",
"replicas":[
"name":"core_node2",
"url":"http://10.0.1.10:8865/solr/gettingstarted_shard2_replica2/",
"numDocs":0,
"status":"active",
"uptime":"2 days, 1 hours, 18 minutes, 48 seconds",
"memory":"25.8 MB (%5.3) of 490.7 MB"},
"name":"core_node3",
"url":"http://10.0.1.10:7574/solr/gettingstarted_shard2_replica1/",
"numDocs":0,
"status":"active",
"uptime":"2 days, 1 hours, 18 minutes, 42 seconds",
"memory":"95.4 MB (%19.4) of 490.7 MB",
"leader":true}]}]}
意见反馈:
联系方式:
广告等垃圾信息
不友善内容
违反法律法规的内容
不宜公开讨论的政治内容请登录查看
Solr 相关性是查询响应满足正在搜索信息的用户的程度。
查询响应的相关性取决于执行查询的上下文。一个单独的搜索应用程序可能会被不同的需求和期望的用户在不同的环境中使用。例如,一个研究气候数据的搜索引擎可能在以下的场合被使用,例如:一个研究长期气候趋势的大学研究人员,一个有兴趣计算春季最后霜冻的可能日期的农民,一个对降雨模式和洪水频率感兴趣的土木工程师,以及一个大学生计划去一个地区度假,想知道要收拾什么。由于这些用户的动机不同,对查询的任何特定响应的相关性也会有所不同。
查询响应应该有多全面?与一般意义上的相关性一样,这个问题的答案取决于搜索的上下文。在某些情况下,不响应查询找到特定文档的成本很高,例如响应于传票的法定 e-discovery 发现搜索,而在其他情况下相当低,例如在网络上搜索蛋糕配方,会出现几十个或几百个蛋糕食谱的网站。在配置 Solr 时,您应该权衡其他因素,如及时性和易用性。
上述提到的两个例子:e-discovery 和菜谱实例,证明了与相关性相关的两个概念的重要性:
精度(precision)是返回结果中相关文档的百分比。
召回(recall)一下系统中所有相关结果的相关结果的百分比。获得完美的召回是微不足道的:只需简单地将每个文档返回到每个查询的集合中。
回到上面的例子,一个 e-discovery 搜索应用程序有 100% 召回返回与传票有关的所有文件是非常重要的。然而,一个菜谱应用程序提供这样的精确度就不那么重要了。在某些情况下,在不经意的情况下返回太多的结果可能会压倒用户。在某些情况下,返回较少的结果具有更高的相关性可能是最好的方法。
使用精确度和召回的概念,可以将用户的相关性和对文档集合的查询进行量化。一个完美的系统对每个用户和每个查询都有100%的精度和100%的召回。换句话说,它将检索所有相关的文件,没有其他的。实际上,当谈到实际系统中的精确度和召回率时,通常关注的是精确度和召回率,在一定数量的结果中,最常见的(也是有用的)是10个结果。
通过 faceting、查询过滤器和其他搜索组件,可以灵活配置 Solr 应用程序,以帮助用户对搜索进行微调,以便为用户返回最具有相关性的结果。也就是说,Solr 可以配置为平衡精确度和召回率,以满足特定用户群体的需求。
Solr 应用程序的配置应该考虑到:
应用程序的各种用户的需求(除了严格的信息需求外,还包括易用性和响应速度)
在不同的上下文中(如日期、产品类别或地区)对这些用户有意义的类别
文档的任何固有的相关性(例如,确保官方产品说明或 FAQ 总是返回到搜索结果的顶部附近是有意义的)
文件的日期是否重要(在某些情况下,最近的文件可能永远是最重要的)
记住所有这些因素,在Solr部署的规划阶段,通常会帮助您勾画出您认为搜索应用程序应该返回的示例查询的响应类型。一旦应用程序启动并运行,您就可以使用一系列测试方法,如焦点组、内部测试、TREC 测试和 A/B 测试来微调应用程序的配置,以最好地满足用户的需求。
有关相关性的更多信息,请参阅 Grant Ingersoll 在 &SearchHub.org 上提供的技术文章:。
意见反馈:
联系方式:
广告等垃圾信息
不友善内容
违反法律法规的内容
不宜公开讨论的政治内容博客访问: 1047205
博文数量: 554
注册时间:
认证徽章:
智慧星光高级DBA。
提供北京或河南地区MySQL、Oracle和MongoDB数据库的技术支持(性能调优,故障处理,安装升级,数据恢复等).
微信或QQ:410294 邮箱:cn_
ITPUB论坛APP
ITPUB论坛APP
APP发帖 享双倍积分
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: 大数据
直到 Solr 7 ,SolrCloud 模型的复制副本允许任何复制副本在领导者丢失时成为领导者。这对大多数用户来说非常有效,在集群出现问题的情况下提供可靠的故障切换。但是,由于所有副本必须在任何时候都同步,因此在大型群集中需要付出代价。
为了提供更多的灵活性,已经添加了两种新类型的副本,名为 TLOG&PULL。这些新类型提供了一些选项,以便仅通过从前导项复制索引段与引线同步的副本。TLOG 类型还有一个额外的好处,就是维护一个事务日志(它的名字为 “tlog”),如果需要的话,它可以恢复并成为领导者;PULL 类型不维护事务日志,因此不能成为领导者。
作为这种改变的一部分,传统的副本现在被命名为 NRT。如果您没有明确定义一些 TLOG 或 PULL 副本,则 Solr 默认创建 NRT 副本。如果这个模型适合您的工作,您不需要改变任何东西。
Solr 自动缩放是 Solr 中的一个新功能套件,用于管理 SolrCloud 群集更加简单和自动化。
Solr 自动缩放的核心是为用户提供一个规则语法来定义如何在集群中分发节点和碎片的首选项和策略,目的是在集群中保持平衡。从 Solr 7 开始,Solr 将在确定将创建或移动各种 Collections API 命令的新碎片和副本放置到何处时,将考虑任何策略或首选项规则。
其他功能和增强
& & Analytics 组件已被重构。该组件的文档正在进行中;在可用之前,请参阅 SOLR-11144 了解更多详情。
& & 在早期的 6.x 版本中发布了其他几个新功能,您可能会错过这些功能:学习排名(Learning to Rank)。统一的高亮(Unified Highlighter)。度量 API(Metrics API)。另请参阅下面的 “JMX 支持” 和 “MBean”一节中有关弃用的信息。有效负载查询(Payload queries)。流媒体评估器(Streaming Evaluators)。 / v2 API。 图流表达式(Graph streaming expressions)。
配置和默认更改
新的默认配置集
对与 Solr 有关的配置进行了若干修改;不仅他们的内容,还有 Solr 在这些方面的行为:
& & data_driven_configset 与 basic_configset 已被删除,取而代之的是 _defaultconfigset。sample_techproducts_configset 还保留,专门与example/exampledocs 目录中的 Solr 附带的示例文档一起使用。
& & 当创建一个新的集合时,如果您不指定一个 configSet,_default 将被使用。如果你使用 SolrCloud,_defaultconfigSet 会自动上传到 ZooKeeper。如果使用独立模式,instanceDir 将自动创建,使用 _defaultconfigSet 作为基础。
无模式的改进
为了改进无模式的功能,当检测到传入字段中的数据应该具有基于文本的字段类型时,Solr 现在的行为会有所不同。
& & 默认情况下,传入的字段将被索引为 text_general(可以更改)。该字段的名称将与文档中定义的字段名称相同。
& & 复制字段规则将被插入到您的模式中,以将新的 text_general 字段复制到具有名称的新字段 &name&_str。这个字段的类型将是一个 strings 字段(允许多个值)。文本字段的前 256 个字符将被插入到新的字符串字段中。
如果您希望删除复制字段规则,或者更改插入到字符串字段的字符数或所使用的字段类型,则可以自定义此行为。有关详细信息,请参阅 “无模式”部分。
Tip:由于复制字段规则可以降低索引的速度并增加索引大小, 所以建议您在需要时只使用复制字段。如果您不需要对字段进行排序或分面,则应该删除自动生成的复制字段规则。
可以使用 update.autoCreateFields 属性禁用自动字段创建。要做到这一点,您可以通过如下命令使用 Config API 例如:
curl http://host:8983/solr/mycollection/config -d '{"set-user-property": {"update.autoCreateFields":"false"}}'
对默认行为的更改
& & JSON 现在是默认的响应格式。如果您依赖于 XML 响应,您现在必须在请求中定义:wt=xml。另外,行缩进是默认启用的(indent=on)。
& & sow 参数(“Split on Whitespace”的缩写)现在默认为 false,允许支持多字同义词。该参数与 eDismax 和 standard/“lucene” 查询解析器一起使用。如果此参数没有明确指定为:true,查询文本将不会在空白上拆分。
& & legacyCloud 参数现在默认为 false。如果副本的项不存在 state.json,则该副本将不会被注册。这可能会影响到复制副本的用户,并自动将其注册为分片的一部分。通过使用以下命令在群集属性中设置属性 legacyCloud=true,可以退回到旧的行为:
./server/scripts/cloud-scripts/zkcli.sh -zkhost 127.0.0.1:2181 -cmd clusterprop -name legacyCloud -val true
对默认行为的更改
& & JSON 现在是默认的响应格式。如果您依赖于 XML 响应,您现在必须在请求中定义:wt=xml。另外,行缩进是默认启用的(indent=on)。
& & sow 参数(“Split on Whitespace”的缩写)现在默认为 false,允许支持多字同义词。该参数与 eDismax 和 standard/“lucene” 查询解析器一起使用。如果此参数没有明确指定为:true,查询文本将不会在空白上拆分。
& & legacyCloud 参数现在默认为 false。如果副本的项不存在 state.json,则该副本将不会被注册。这可能会影响到复制副本的用户,并自动将其注册为分片的一部分。通过使用以下命令在群集属性中设置属性 legacyCloud=true,可以退回到旧的行为:
& & ./server/scripts/cloud-scripts/zkcli.sh -zkhost 127.0.0.1:2181 -cmd clusterprop -name legacyCloud -val true
& & 如果 solrconfig 中的 luceneMatchVersion 是 7.0.0 或以上版本,则 eDismax 查询分析器参数 lowercaseOperators 现在默认为 false。luceneMatchVersion 低于7.0.0 的行为是不变的(因此,为 true)。这意味着客户端必须以大写的方式发送布尔运算符(如 AND、OR 和 NOT)才能被识别,或者您必须明确地设置该参数为 true。
如果 luceneMatchVersion 是7.0.0 或以上,则 solrconfig 中的 handleSelect 参数现在默认为 false。这会导致 Solr 忽略 qt 参数,如果它存在于请求中。如果您的请求处理程序没有前导 '/',则可以设置 handleSelect="true" 或考虑迁移您的配置。该 qt 参数仍用作指定要使用的请求处理程序(尾部 URL 路径)的 SolrJ特殊参数。
lucenePlusSort 查询解析器(又名 “旧 Lucene 查询解析器”)已被弃用,不再隐式定义。如果你想继续使用这个解析器直到 Solr 8(当它将被删除),你必须将它注册到您的 solrconfig. xml 中,如:
&queryParser name="lucenePlusSort" class="solr.OldLuceneQParserPlugin"/&
TemplateUpdateRequestProcessorFactory 名称从 Template更改为 template,AtomicUpdateProcessorFactory 的名称从 Atomic 改为atomic,此外,TemplateUpdateRequestProcessorFactory 现在使用 {} 而不是 $ {} 作为模板。
弃用和删除的功能
点字段是默认的数值类型
Solr 全面实现了 * PointField 类型,取代了基于 Trie * 的数字字段。现在所有的 Trie * 字段都被认为是不赞成使用的,并将在 Solr 8 中删除。
如果您在您的模式使用 Trie * 字段,则您应该考虑尽快迁移到 PointFields。更改为新的 PointField 类型将要求您重新索引数据。
以下与空间相关的字段已被弃用:
& & LatLonType
& & GeoHashField
& & SpatialVectorFieldType
& & SpatialTermQueryPrefixTreeFieldType
改为选择下列字段类型之一:
& & LatLonPointSpatialField
& & SpatialRecursivePrefixTreeField
& & RptWithGeometrySpatialField
JMX 支持和 MBeans
& & solrconfig.xml 中的 &jmx& 元素已被删除, 以支持在 solr 中定义的 &metrics& &reporter& 元素。如果缺少 SolrJmxReporter,并且在找到本地 MBean 服务器时自动添加默认的实例,则会提供有限的向后兼容性。本地 MBean 服务器可以通过 solr.in.sh 中的 ENABLE_REMOTE_JMX_OPTS 或者经由系统的性能(例如:Dcom.sun.management.jmxremote)被激活。此默认实例将所有注册表中的所有 Solr 度量标准导出为分层 MBean。还可以通过指定SolrJmxReporter 配置来禁用该行为,该配置使用的布尔型 init 参数设置为 false。对于更加 fine-grained 的控制,用户应明确指定至少一个 SolrJmxReporter配置。另请参阅 &metrics& &reporter& 元素部分,其中介绍了如何设置 Metrics Reporter solr.xml。请注意,后向兼容性支持可能会在 Solr 8 中删除。
& & MBean 名称和属性现在遵循度量中使用的分层名称。这也反映在:/admin/mbeans和/admin/plugins 输出中,并且可以在 UI Plugins 选项卡中观察到,因为现在所有这些 API 都从度量 API 获取其数据。旧的(大部分是平坦的)JMX 视图已被删除。
SolrJ 进行了以下更改。
& & HttpClientInterceptorPlugin:现在是 HttpClientBuilderPlugin,必须与一个 SolrHttpClientBuilder 一起工作,而不是一个 HttpClientConfigurer。
& & HttpClientUtil:现在允许通过 SolrHttpClientBuilder 配置 HttpClient 实例,而不是通过一个 HttpClientConfigurer。使用 env 变量SOLR_AUTHENTICATION_CLIENT_CONFIGURER 不再有效,请使用 SOLR_AUTHENTICATION_CLIENT_BUILDER。
& & SolrClient:实现现在使用自己的内部配置套接字超时、连接超时并允许重定向,而不是在生成 HttpClient 实例时设置为默认值。在 SolrClient 实例上使用适当的设置器。
& & HttpSolrClient#setAllowCompression 已被移除,必须将压缩作为构造函数参数启用。
& & HttpSolrClient#setDefaultMaxConnectionsPerHost 和 HttpSolrClient#setMaxTotalConnections 已被删除。现在这些默认值非常高,只能在创建HttpClient 实例时通过参数进行更改。
其他的弃用和删除
& & 模式中的 defaultOperator 参数不再被支持,改用 q.op 参数。这个选项已经被弃用了几个版本。有关更多信息,请参见标准查询解析器参数部分。
& & 模式中的 defaultSearchField 参数不再被支持,改用 df 参数。这个选项已经被弃用了几个版本。有关更多信息,请参见标准查询解析器参数部分。
& & mergePolicy、mergeFactor 和 maxMergeDocs 参数已被删除并不再支持。你应该定义一个 mergePolicyFactory。有关更多信息,请参见mergePolicyFactory 部分。
& & PostingsSolrHighlighter 已被弃用。建议您改为使用 UnifiedHighlighter。有关更多信息,请参阅 Unified Highlighter 部分。
& & 索引时间提升已经从 Lucene 中删除,并且不再可以从 Solr 获得。如果提供了任何提升,它们将被索引链忽略。作为替代,索引时间评分因子应该在单独的字段中编入索引,并使用函数查询与查询评分相结合。有关更多信息,请参阅函数查询一节。
& & StandardRequestHandler 已被弃用,改为使用 SearchHandler。
& & 为了提高集合 API 参数的一致性,MOVEREPLICA 命令和源的参数名称为 fromNode,REPLACENODE 命令中的 target 已被弃用,取而代之的是 sourceNode和 targetNode。旧名称将继续为后向兼容工作,但他们将在 Solr 8 中被删除。
& & 未使用的 valType 选项已从 ExternalFileField 中删除,如果在模式中有这个选项,则可以安全地删除它。
阅读(56) | 评论(0) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。There are a few topics and articles on Solr authentication & authorization, but I cannot get it to work (the way I like).
I followed these tutorials / information sources:
Then I created this security.json and I confirmed it is active in Zookeeper:
"authentication":{
"class":"solr.BasicAuthPlugin",
"credentials":{
"solr":"...",
"admin":"...",
"monitor":"...",
"data_import":"..."},
"":{"v":8}},
"authorization":{
"class":"solr.RuleBasedAuthorizationPlugin",
"permissions":[
"name":"security-edit",
"role":"adminRole"},
"name":"security-read",
"role":"adminRole"},
"name":"schema-edit",
"role":"adminRole"},
"name":"schema-read",
"role":"collectionRole"},
"name":"config-edit",
"role":"adminRole"},
"name":"config-read",
"role":"collectionRole"},
"name":"collection-admin-edit",
"role":"adminRole"},
"name":"collection-admin-read",
"role":"collectionRole"},
"name":"update",
"role":"dataImportRole"},
"name":"read",
"role":"dataImportRole"}],
"user-role":{
"adminRole",
"collectionRole",
"dataImportRole"],
"adminRole",
"collectionRole",
"dataImportRole"],
"monitor":[
"collectionRole",
"dataImportRole"],
"data_import":["dataImportRole"]}}}
I now have a security.json that works for curl requests from command line:
curl "http://localhost:8983/solr/admin/authorization"
Unauthorized request, Response code: 401
curl --user solr:&pwd& "http://localhost:8983/solr/admin/authorization"
Normal response with the info
So far so good.
Now I try and select something from a collection, which shouldn't work anonymously according to my security.json, however it still works
curl "http://localhost:8983/solr/outlets_shard1_replica1/select?q=*%3A*&wt=json&indent=true"
"responseHeader":{
"status":0,
"QTime":1,
"params":{
"indent":"true",
"q":"*:*",
"wt":"json"}},
"response":{"numFound":2000,"start":0,"d.. }
This is the first thing that vexes me. I probably can create some custom path permission for /select, but having the read right assigned to a specific role should do the trick right? but [1] How can I disable all anonymous access?
Continuing on, probably related, it bothers me that the Solr Admin UI() is still accessible. In previous Solr installations (with tomcat) I remember that even this interface was secured. It also seems that I still have complete access to the entire core
(reload worked) and I can also inspect cloud configuration.[2] How can I restrict access to Solr Admin UI?
The only stuff that actually seems to be secure is all the /solr/admin related commands
Which brings me to the 3rd thing I can't seem to figure out: How do I configure solr.in.sh so that solr authentication is passed with /bin/solr commands
I see the SOLR_AUTHENTICATION_CLIENT_CONFIGURER and SOLR_AUTHENTICATION_OPTS options, but I have no clue how to modify those to feed basic realm authentication into solr commandline. So [3] How do I keep all access from commandline to Solr (and Zookeeper) authorized & authenticated?
eg. solr status now returns
Found 1 Solr nodes:
Solr process 15931 running on port 8983
ERROR: Failed to get system information from http://localhost:8983/solr due to: org.apache.http.client.ClientProtocolException: Expected JSON response from server but received: &html&
&meta http-equiv="Content-Type" content="text/ charset=UTF-8"/&
&title&Error 401 Unauthorized request, Response code: 401&/title&
&body&&h2&HTTP ERROR 401&/h2&
&p&Problem accessing /solr/admin/collections. Reason:
Unauthorized request, Response code: 401&/pre&&/p&&hr&&i&&small&Powered by Jetty://&/small&&/i&&hr/&
I've tested with
SOLR_AUTHENTICATION_OPTS="-DinternalAuthCredentialsBasicAuthUsername=solr -DinternalAuthCredentialsBasicAuthPassword=&pass&"
To no avail
解决方案 I also faced the same issue and then I looked at the source code.
The read permission in RuleBasedAuthorizationPlugin is defined as :
read :{" +
path:['/update/*', '/get']}," +
Which will never work.
I have raised an issue:
Now, to lock down your admin ui completely, you need to define a new permission, with path="/", which will going to solve your issue, something like this:
curl --user solr:SolrRocks http://localhost:8983/solr/admin/authorization -H 'Content-type:application/json' -d '{
"set-permission" : {"name":"admin-ui",
"path":"/",
"before":"update",
"role":"admin"}}'
本文地址: &
有关于Solr的认证和放几个主题和文章;授权,但我不能得到它的工作(我喜欢的方式)。 我跟着这些教程/信息来源:的和的然后,我创造了这个security.json,我确认这是活跃在动物园管理员:
“认证”:{
“阶级”:“solr.BasicAuthPlugin”
“证书”:{
“Solr的”:“......”
“管理员”:“......”
“监控”:”...”,
“data_import”:“...”},
“”:{“V”:8}},
“授权”:{
“阶级”:“solr.RuleBasedAuthorizationPlugin”
“权限”:
“名”:“安全编辑”
“角色”:“adminRole”},
“名”:“安全读”
“角色”:“adminRole”},
“名”:“模式编辑”
“角色”:“adminRole”},
“名”:“架构读”
“角色”:“collectionRole”},
“名”:“配置编辑”
“角色”:“adminRole”},
“名”:“配置读”
“角色”:“collectionRole”},
“名”:“收集管理员编辑”
“角色”:“adminRole”},
“名”:“收集管理员读取”
“角色”:“collectionRole”},
“名”:“更新”
“角色”:“dataImportRole”},
“名”:“读”,
“角色”:“dataImportRole”}],
“用户角色”:{
“Solr的”:[
“adminRole”
“collectionRole”
“dataImportRole”],
“管理员”:
“adminRole”
“collectionRole”
“dataImportRole”],
“监控”:[
“collectionRole”
“dataImportRole”],
“data_import”:[“dataImportRole”]}}} 我现在有一个命令行的卷曲请求工作的security.json: 卷曲的“http://本地主机:8983 / Solr的/管理/授权”
未经授权的请求,响应code:401
卷曲--user Solr的:其中; PWD> “HTTP://本地主机:8983 / Solr的/管理/授权”
与信息正常响应到目前为止好。现在我尝试和选择的集合,不应根据我security.json匿名行事的东西,但它仍然有效。 卷曲\"http://localhost:8983/solr/outlets_shard1_replica1/select?q=*%3A*&wt=json&indent=true\" “responseHeader”:{
“状态”:0,
“QTIME”:1,
“PARAMS”:{
“缩进”:“真正的”,
“Q”:“*:*”,
“重量”:“JSON”}},
“响应”:{“numFound”:2000,“开始”:0,“D ..} 这是我vexes的第一件事。我大概可以创造一些自定义路径许可/选择,但具有看错分配给特定的角色应该做的伎俩吗?但 [1]如何禁用所有的匿名访问 继续,可能有关,它困扰我,Solr管理UI()仍然是访问。在previous Solr的安装(使用Tomcat)我记得,即使这个接口保证。它还看来我还是要整个核心的完全访问权限(重装工作),我还可以检查云配置。 [2]我怎么才能限制Solr管理UI? 这实际上似乎是安全的唯一的东西是所有的/ Solr的/ admin相关命令这使我想到第三件事,我似乎无法弄清楚:我如何配置solr.in.sh让Solr的认证与/斌/ Solr的命令通过我看的 SOLR_AUTHENTICATION_CLIENT_CONFIGURER 的和的 SOLR_AUTHENTICATION_OPTS 的选项,但我不知道如何修改这些基础领域验证反馈到Solr的命令行。因此, [3]如何保持从命令行来授权和放大器的Solr(和动物园管理员)的所有访问;验证? 如。
Solr的状态现在返回 找到1 Solr的节点:Solr的过程15931端口上运行8983错误:无法从http系统信息://本地主机:8983 / Solr的原因是:org.apache.http.client.ClientProtocolException:预计从服务器的JSON响应,但收到的:其中,HTML>< HEAD>< META HTTP-EQUIV =“Content-Type的”CONTENT =“text / html的;字符集= UTF-8”/><标题>错误401未经授权请求,响应code:401< /标题>< /头><身体GT;< H2> HTTP错误401< / H>< P>问题访问/ Solr的/管理/集合。原因:< pre>未经授权的请求,响应code:401< / pre>< / P>< HR>< I><小>技术码头://< /小>< / I> <小时/>< /身体GT;< / HTML> 我已经测试过
SOLR_AUTHENTICATION_OPTS =“ -
DinternalAuthCredentialsBasicAuthUsername = Solr的-DinternalAuthCredentialsBasicAuthPassword =<通&”中 要无果解决方案 我也面临着同样的问题,然后我看了看源$ C $ C。在RuleBasedAuthorizationPlugin的读取权限的定义是: 阅读:{“+
路径:['/更新/ *','/获取']},“+ 这不会有任何效果。我提出一个问题:
现在,锁定您的管理员用户界面完全,你需要定义一个新的权限,与路径=“/”,这将要去解决您的问题,这样的事情: 卷曲--user Solr的:SolrRocks的http://本地主机:8983 / Solr的/管理/授权-H“内容类型:应用程序/ JSON'-D'{“设置权限”:{“名”:“管理员的用户界面”
“路径”:”/”,
“之前”:“更新”
“角色”:“管理员”}}'
本文地址: &
扫一扫关注官方微信

我要回帖

更多关于 按纸型缩放是什么意思 的文章

 

随机推荐