索引文件的时候 ContentStreamUpdateRequest 中的参数如果是中文会乱码

发布于 2021-11-25 04:05:53 字数 477 浏览 722 评论 9

RT

ContentStreamUpdateRequest up = new ContentStreamUpdateRequest(
				"/update/extract");
up.addFile(file);
up.setParam("literal.file_name", "这个如果是中文会乱码");
server.request(up);

HttpSolrServer 和 ConcurrentUpdateSolrServer 均存在此问题。

大概看了下应该是 post的时候没有对参数做必要的转码操作。solrj这部分好搞,问题是 server 端,需要检查代码找到对传入参数解码的地方 ,比较麻烦,所以先来这问问大家有没有比较简单的解决办法,谢谢。

现在用的solr是最新版 3.6

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

少女净妖师 2021-12-01 07:16:28

引用来自“begoodluck”的评论

请问
literal.file_name 这个是代表什么意思?谢谢!

输什么也不输骨气 2021-12-01 06:53:41

请问
literal.file_name 这个是代表什么意思?谢谢!

坐在坟头思考人生 2021-12-01 06:42:02

哥们你还有再修改这个程序吗?我刚刚测试如果用CommonsHttpSolrServer这个已经被弃用的server类上传就不会出现乱码

旧城烟雨 2021-12-01 06:16:46

回复
ft,不会吧,居然会出现这么傻的事情?回头我改过去试试:( 多谢提醒啊

无人问我粥可暖 2021-12-01 06:05:33

估计得改源码了,我当时简单跟踪了一下,发现没有设置的办法,估计得修改下源码的编码处理,后来因为忙别的也就没来得及整    

掩饰不了的爱 2021-12-01 05:46:47

调试的时候看了一下ContentStreamUpdateRequest 的一些属性,发现contentStream中的contentType没有赋值,应该写成“text/plain; charset=utf-8”  但我找了好久没找到赋值这个contentType的方法

彩扇题诗 2021-11-30 10:22:05

我怎么觉得你的问题跟 solr 没关系呢,因为 lucene 的搜索本身用对了分词器是没有乱码问题的,乱码产生的原因多是跟http参数传递有关系的

归属感 2021-11-30 00:21:15

求解答。。

回忆凄美了谁 2021-11-25 21:06:16

我怎么觉得你的问题跟 solr 没关系呢,因为 lucene 的搜索本身用对了分词器是没有乱码问题的,乱码产生的原因多是跟http参数传递有关系的

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文