【问题标题】:Saving to solr from banana 1.5?从香蕉 1.5 保存到 solr?
【发布时间】:2015-04-26 13:31:59
【问题描述】:

POST 请求何时应该变成 OPTIONS 请求,这是什么意思?在这种情况下,终端服务器会看到什么?

我正在尝试让香蕉的 Save-to-Solr 功能正常工作,但失败并显示状态码 404。我认为这是一个 CORS 问题,但不知道如何解决。

在 tomcat7 中运行香蕉 1.5 作为独立战争并与 solrCloud 对话。 SolrCloud 是(我相信)为 CORS 设置的。仪表板本身中的数据查询正在正确返回数据。 banana-int 的集合与 logdata 的集合在同一台服务器上运行。

在从 Chrome 的 Inspect-Element 检查 POST 数据时遇到问题,但通过 angular,捕获了 $http.post(path, data, config),将其转换为命令行 POST,并且成功地将仪表板进入 Solr。一旦仪表板在 Solr 中手动完成,我就可以从 Banana 加载它。这告诉我从香蕉/js 的角度来看,事情(服务器 url、集合等)已正确连接。

【问题讨论】:

    标签: solr banana


    【解决方案1】:

    这很可能是由于 CORS。 AngularJS 正在发送飞行前 OPTIONS 请求,在标头中指定 Access-Control-Request-Method: POST,告诉服务器即将到来的方法是 POST。

    有关在 Solr 上启用 CORS 的提示,请查看此处:here

    【讨论】:

    • SOLR 已连接到 CORS,这是获取基于日志的查询和加载仪表板所必需的。尤其是 OPTIONS/POST 似乎被破坏了。
    • hmmm... 尝试通过在 solr-angular-client.js 中的 post 函数中将 'application/json' 替换为 'text/plain' 来禁用 preflight OPTIONS 请求,这将导致发送 POST直接请求。
    • 不存在,但肯定更好。它以 POST 的形式通过,但我的 solr 没有将有效负载识别为有效的 json 更新。
    • 我认为 'text/json' 可以。
    • 是的,我试过了。 text/json 也变成了一个选项。尝试修改香蕉整数集合,使其将应用程序/文本视为 json。
    猜你喜欢
    • 1970-01-01
    • 2017-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-17
    • 2013-06-20
    • 2014-06-23
    • 2013-11-09
    相关资源
    最近更新 更多