我想将我的Android应用程序中的json数据发送到使用solr搜索引擎的rails webApp上的ruby。但每次我发送数据时,都会收到以下错误消息:
RSolr :: Error :: Http - 400 Bad Request Error:Apache Tomcat / 7.0.68(Ubuntu) - Rapport d'erreur
Etat HTTP 400 - 路径中缺少solr核心名称
类型 Rapport d''état
消息路径中缺少solr核心名称
description Larequêteenvoyéeparleclientétaitlanguuraliquementincorrecte。
Apache Tomcat / 7.0.68(Ubuntu)
URI:http://localhost:8080/solr/update?wt=ruby请求标题:{“Content-Type” =>“text / xml”}请求数据:“”Backtrace:/home/wivi/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rsolr-1.1.1/lib/ rsolr / client.rb:288:在adapt_response' /home/wivi/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rsolr-1.1.1/lib/rsolr/client.rb:189:in
执行'/home/wivi/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rsolr-1.1.1/lib/ rsolr / client.rb:175:在send_and_receive' /home/wivi/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/sunspot_rails-2.2.5/lib/sunspot/rails/solr_instrumentation.rb:16:in
块中的send_and_receive_with_as_instrumentation'/home/wivi/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activesupport-4.2.5.1/ lib / active_support / notifications.rb:164:inblock in instrument' /home/wivi/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activesupport-4.2.5.1/lib/active_support/notifications/instrumenter.rb:20:in
instrument'/home/wivi/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activesupport-4.2.5.1/ lib / active_support / notifications.rb:164:在instrument' /home/wivi/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/sunspot_rails-2.2.5/lib/sunspot/rails/solr_instrumentation.rb:15:in
发送_and_receive_with_as_instrumentation'(eval):2:inpost' /home/wivi/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rsolr-1.1.1/lib/rsolr/client.rb:84:in
update'/home/wivi/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rsolr-1.1.1/lib/ rsolr / client.rb:113:在`commit'
我尝试过很多东西但没有成功。有没有人有想法解决这个问题?在此先感谢您的帮助。
致以最诚挚的问候,
答案 0 :(得分:0)
正如错误所示 - 您错过了Solr URL中的核心名称或集合名称。
核心名称/集合名称是URL中“solr”之后的部分:
http://../solr/collection-name
设置Solr核心/集合以进行索引时,您可能使用了集合或核心名称。这必须通过URL或通过特定设置提供给您正在使用的ruby模块(取决于库 - 大多数只是要求您将其包含在URL中)。
在非常旧版本的Solr中 - 一次只支持一组数据 - 该URL不需要存在核心名称或集合名称,这就是为什么您可能会看到旧的URL格式仍然存在的原因。