【问题标题】:Can a Solr Request Handler modify the query string?Solr 请求处理程序可以修改查询字符串吗?
【发布时间】:2012-06-20 21:16:25
【问题描述】:

我正在尝试改进使用 StandardRequestHandler 的现有 solr 搜索。我想切换到基于 dismax 的处理程序,但是我需要从“fieldname:value”查询中删除字段名。

是否可以在 q 参数值传递给请求处理程序时对其进行修改?

【问题讨论】:

  • 您无权访问向 Solr 发出请求的客户端吗?
  • @Ansari 我愿意,但我希望能够在不需要客户端版本的情况下改进搜索结果

标签: solr edismax requesthandler


【解决方案1】:

我没有深入研究这个问题,但我认为您可能想要创建自己的QueryParser,可能会扩展您现在使用的那个。您想要达到的结果确实需要一些编码。

另一方面,当然最好修改客户端,这样你就不需要破解 Solr。

【讨论】:

  • 感谢 javanna,看起来这是拦截和修改 q 字符串的最佳选择。具体来说,看起来QParserPlugin 抽象类有一个createParser() 方法,它接收q 参数为qstr。可以在此处修改,也可以在返回的实际 QParser 内修改。谢谢!
猜你喜欢
  • 2011-07-13
  • 2021-05-27
  • 1970-01-01
  • 1970-01-01
  • 2020-01-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-30
相关资源
最近更新 更多