Slor 条件查询提示:org.apache.http.ParseException: Invalid content type:

2023-10-28

今天在编写Solr查询条件时,启动单元测试,solr 提示如下错误信息:

Caused by: org.apache.http.ParseException: Invalid content type: 
    at org.apache.http.entity.ContentType.parse(ContentType.java:233)
    at org.apache.solr.client.solrj.impl.HttpSolrServer.executeMethod(HttpSolrServer.java:496)
    at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:210)
    at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:206)
    at org.apache.solr.client.solrj.request.QueryRequest.process(QueryRequest.java:91)
    ... 90 more

报错代码片段:

SolrQuery query = new SolrQuery();

this.setQuery(query, localParam);

// solr请求
QueryResponse queryResponse = server.query(query);
public void setQuery(SolrQuery query, Map<String, Object> parameter){
		String text = (String) parameter.get("text");
		String type = (String) parameter.get("type");
		if(StringUtils.isEmpty(text)){
			// 默认查询全部
			query.setQuery("*:*");
		} else {
			if(StringUtils.isEmpty(type)){
				// 默认查询:text 字段
				query.setQuery("text:" +"*".concat(text).concat("*"));
			} else {
				StringBuilder builder = new StringBuilder();
				if("certificate".equalsIgnoreCase(type)){
					builder.append("205designNo:" + "*".concat(text).concat("*")).append(" or ");
					builder.append("205approvalNo:" + "*".concat(text).concat("*")).append(" or ");
					builder.append("205landLicenseNo:" + "*".concat(text).concat("*")).append(" or ");
					builder.append("205devUsePlanningNo:" + "*".concat(text).concat("*")).append(" or ");
					builder.append("206planningVerCertificate:" + "*".concat(text).concat("*")).append(" or ");
					builder.append("206trafficPlanningOpinionsNo:" + "*".concat(text).concat("*")).append(" or ");
					builder.append("209consLandPlanningLicense:" + "*".concat(text).concat("*")).append(" or ");
					builder.append("211engPlanningNo:" + "*".concat(text).concat("*")).append(" or ");
					builder.append("211planningOpinionRecordNo:" + "*".concat(text).concat("*")).append(" or ");
					builder.append("504consLandPlanningLicense:" + "*".concat(text).concat("*")).append(" or ");
					builder.append("504landApproveNo:" + "*".concat(text).concat("*")).append(" or ");
					builder.append("504landReserveNo:" + "*".concat(text).concat("*")).append(" or ");
					builder.append("504landParcel:" + "*".concat(text).concat("*"));
					
					query.setQuery(builder.toString());
					
				} else if("unit".equalsIgnoreCase(type)){
					builder.append("205devOrgName:" + "*".concat(text).concat("*")).append(" or ");
					builder.append("205designOrgName:" + "*".concat(text).concat("*")).append(" or ");
					builder.append("205designOrgPerson:" + "*".concat(text).concat("*")).append(" or ");
					builder.append("206unitName:" + "*".concat(text).concat("*")).append(" or ");
					builder.append("211applyName:" + "*".concat(text).concat("*")).append(" or ");
					builder.append("211designOrgName:" + "*".concat(text).concat("*")).append(" or ");
					builder.append("211unitName:" + "*".concat(text).concat("*")).append(" or ");
					builder.append("504landUseUnit:" + "*".concat(text).concat("*")).append(" or ");
					builder.append("226punisherName:" + "*".concat(text).concat("*")).append(" or ");
					builder.append("226companyName:" + "*".concat(text).concat("*")).append(" or ");
					builder.append("226client:" + "*".concat(text).concat("*")).append(" or ");
					builder.append("226clientUnit:" + "*".concat(text).concat("*"));
					
					query.setQuery(builder.toString());
					
				} else if("title".equalsIgnoreCase(type)){
					builder.append("archTitle:" + "*".concat(text).concat("*"));
					query.setQuery(builder.toString());
				}
			}
		}
	}

造成问题原因:GET向solr传递参数的时候参数过长导致的。

解决办法一: GET请求替换为POST 请求

修改后的代码:

SolrQuery query = new SolrQuery();

this.setQuery(query, localParam);

// solr请求
QueryResponse queryResponse = server.query(query, METHOD.POST);

解决办法二:修改solr配置

配置文件位置:SOLRHOME/CORE_NAME/conf/solrconfig.xml

找到如下配置:

<maxBooleanClauses>1024</maxBooleanClauses>

1024 改为10240

其中,SOLRHOME为你的solr主目录,CORENAME为你的core的名称

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Slor 条件查询提示:org.apache.http.ParseException: Invalid content type: 的相关文章

随机推荐

  • Spring5笔记

    一 Spring概述 Spring是一个轻量级的 控制反转 IoC 和面向切面 AOP 的容器 框架 组成 核心容器 core 核心容器提供 Spring 框架的基本功能 核心容器的主要组件是 BeanFactory 它 是工厂模式的实现
  • centos7系统被入侵,挂载挖矿木马-pamdicks-(1)临时处理

    故障说明 故障环境配置 开发测试服务器 腾讯云 系统 centos7 程序启动模式 root用户直接启动 网络环境 所有端口全部对外开放 使用仅屏蔽部分关键端口ssh redis rabbitmq等 为方便服务器间数据传输方便 采用了ssh
  • Azkaban源码阅读之CachingFlowManager

    CachingFlowManager这部分为Azkaban在管理job中cache管理这一部分 public CachingFlowManager FlowManager baseManager final int cacheSize th
  • 14、Spring-Boot 加载Bean的几种方式

    01 学习内容 1 Spring Boot 加载Bean的几种方式 2 自定义starter 顺便理解springboot加载原理和机制 02 探索springboot的加载bean几种方式 springboot启动类上的注解是一个复合注解
  • 空间与虚拟服务器,虚拟空间与服务器区别

    虚拟空间与服务器区别 内容精选 换一换 当云硬盘容量空间不足时 可以有如下处理方式 创建一块新的云硬盘 并挂载给云服务器 具体操作请参见购买云硬盘 扩容原有云硬盘容量 系统盘和数据盘均支持扩容 具体操作请参见云硬盘扩容 清理云硬盘的空间 具
  • UE4 运行后视角切换到Cinecamera相机的三种方法

    目的 解决运行后Cinecamera相机无法自动切换到玩家视角 方法 1 调用这个蓝图节点 这个最简单 适合只考虑切换视角的需求 2 制作并播放关卡序列 这个有点麻烦 适合需要做关卡序列动画 3 创建GameMode和Pawn 添加Cine
  • 人脸识别之人脸检测算法

    人脸识别的一般步骤 人脸检测 gt 人脸对齐 gt 人脸特征提取 gt 计算人脸的差值 三元组损失 中心损失 gt 差值小于某一阈值则为同一个人 差值大于某一阈值则不是同一人 本文将对每一个步骤的技术现状 进行分析 并尝试实现其中最优的几种
  • ARMv8 Linux内核异常处理过程分析

    看了Linaro提供的开源ARMv8 Linux内核源码 发现ARMv8异常处理与ARMv7及之前的架构有所不同 简单分析 LinaroARMv8工程 http www linaro org engineering engineering
  • MySQL主从同步配置及相关坑

    主 mysqld 主从同步主配置开始 server id 1 节点ID 确保唯一 log bin master bin 开启mysql的binlog日志功能 sync binlog 1 控制数据库的binlog刷到磁盘上去 0 不控制 性能
  • C++如何初始化顺序表

    顺序表可以使用以下代码初始化 include
  • 如何利用chatGPT提升自己

    经过一个月的使用 我可以很肯定地告诉大家 学习是ChatGPT最能够帮助普通人的一个重要功能 此时我们不必去过度担心是否会被AI替代 而是应该注重如何利用好ChatGPT来提升自身能力 ChatGPT所学习和整理的文本量都超过了人类一生的范
  • 用C语言创建基本的栈与队列

    目录 一 栈 1 什么是栈 2 数组栈与链式栈哪个更优 3 栈的实现 Stack h Stack c lt 1 gt StackInit lt 2 gt StackPop lt 3 gt StackPush lt 4 gt StackDes
  • 基于Spring Cloud架构应用Spring Cloud Alibaba Nacos

    记录 296 场景 基于Spring Cloud架构应用Nacos 版本2 1 0 包括Nacos部署 微服务集成Nacos 微服务注册 微服务配置 微服务调用 RestTemplate和Spring Cloud OpenFeign 版本
  • python数据处理——双y轴图

    画图要求 x轴表示时间 两个y轴 y轴的单位不一致 例如 x轴表示时间 y1表示情感值 y2表示次数 颜色对应表查询网址 颜色代码对应表 或是调用python中的画图模块 Choosing Colormaps in Matplotlib M
  • TypeScript基础知识(2)原始类型 作用域 Object类型

    TypeScript TypeScript是JavaScript的超集 TypeScript JavaScript 类型系统 ES6 或者更后版本 会被编译为JavaScript 配置步骤 1 npm install g typesrcip
  • [Unity 3D] 簡單瞭解「Collision碰撞」與「Trigger觸發」

    Unity 3D是套非常好用的遊戲開發引擎 內建的物理系統讓使用者不需寫長長的程式碼 就能夠迅速設定好所有物件之間的碰撞關係 做出讓角色走不過去的牆 或是可以射穿牆壁的子彈等等 不過它的設定相當細 若是分不清其中差異 很容易就會陷入鬼打牆的
  • IT新技术

    1 物联网 含义 指物物相连的互联网 关键技术 RFID技术 传感器技术等 应用 物流 智能交通 智能医疗 智能家居等 2 大数据 巨量资料 海量 高增长率和多样化的信息资产 特点 4v 大量 多样 高速 价值密度低 应用 金融行业 电商行
  • 《战狼》演习中到底是靠什么代码攻破对方的指挥系统?

    战狼 演习中到底是靠什么代码攻破对方的指挥系统 红蓝双方正在进行军事演习 开局 红方发动了手速buff 仅用时3秒 便成功入侵了对方了指挥网络 旗开得胜 接下来让我们好好学习一下这段代码 敲黑板 啊 这 C语言的气息 通过红框标注的prin
  • SpringSecurity的使用

    Spring Security 是针对Spring项目的安全框架 也是Spring Boot底层安全模 块默认的技术选型 他可以实现强大的Web安全控制 对于安全控制 我们仅需要 引入 spring boot starter securit
  • Slor 条件查询提示:org.apache.http.ParseException: Invalid content type:

    今天在编写Solr查询条件时 启动单元测试 solr 提示如下错误信息 Caused by org apache http ParseException Invalid content type at org apache http ent