Solr 关于处理程序解析和转义的问题

发布于 2024-10-11 00:39:03 字数 1461 浏览 6 评论 0原文

我有几个关于 Solr 使用的问题:

  1. 某些请求可以发送到不同的路径(处理程序?)。例如,MoreLikeThis 组件可以发送到 /select 或 /mlt。

我在 Solr wiki 中找到了这两个链接:

http://localhost:8983/solr/mlt?q=id:UTF8TEST&mlt.fl=manu,cat&mlt.mindf=1& mlt.mintf=1&mlt.match.include=false

http://localhost:8983/solr/select?q=apache&mlt=true&mlt.fl=manu, cat&mlt.mindf=1&mlt.mintf=1&fl=id,score

这种设置背后的原因是什么?如果我决定将 MoreLikeThis 请求发送到 /mlt 是否意味着我无法利用任何 /select 特定调用 - 如果甚至存在这样的事情 - 例如构面 - ?如果没有,是否可以配置 /select 路径来处理从拼写检查到集群的所有请求?

  1. 如何在 Lucene 中转义双字符特殊字符串(&&、||)?

http://lucene.apache.org/java/2_9_1/queryparsersyntax .html#Escaping+Special+Characters

我是只转义第一个字符 (\&&) 还是同时转义两个字符?我什么时候需要逃离他们?我在 Solr 包中提供的示例服务器上执行的一些测试没有得出结论:

http://localhost:8983/solr/select/?q=manu:%22apple%20%26%26%22%20AND%20manu:% 22computer%22

仍然返回结果,

I have a couple of questions regarding Solr usage:

  1. Certain requests can be sent to different paths (handlers?). For example, the MoreLikeThis component can being sent to either /select or /mlt.

I have found these two links in the Solr wiki:

http://localhost:8983/solr/mlt?q=id:UTF8TEST&mlt.fl=manu,cat&mlt.mindf=1&mlt.mintf=1&mlt.match.include=false

http://localhost:8983/solr/select?q=apache&mlt=true&mlt.fl=manu,cat&mlt.mindf=1&mlt.mintf=1&fl=id,score

What is the reasoning behind this setup? If I decide to send my MoreLikeThis requests to /mlt does this mean I can not utilize any /select specific calls - if there is even such a thing - such as facets - ? If not, can a /select path can be configured to handle all requests from Spellcheck to Clustering?

  1. How do you escape double character special strings (&&, ||) in Lucene?

http://lucene.apache.org/java/2_9_1/queryparsersyntax.html#Escaping+Special+Characters

Do I escape the first character only (\&&) or do I escape both? And when do I need to escape them? A couple of tests that I performed on the example server provided in the Solr package were inconclusive:

http://localhost:8983/solr/select/?q=manu:%22apple%20%26%26%22%20AND%20manu:%22computer%22

Still returns results,

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

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

发布评论

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

评论(1

挽心 2024-10-18 00:39:04

1) MoreLikeThisHandler 背后的基本原理在 Solr wiki 中有解释:

当您特别需要信息时
关于类似的文档,您可以使用
MoreLikeThisHandler。

如果你想过滤相似的
MoreLikeThis 给出的结果您有
使用 MoreLikeThisHandler。它
会考虑类似的文件
结果集作为主要结果集,因此将
应用指定的过滤器 (fq)
它。如果您使用
MoreLikeThisComponent 并应用查询
过滤器将应用于
主查询返回的结果集
(QueryComponent) 而不是一个
由 MoreLikeThisComponent 返回。

2)你需要转义每一个字符。

1) The rationale behind MoreLikeThisHandler is explained in the Solr wiki:

When you specifically want information
about similar documents, you can use
the MoreLikeThisHandler.

If you want to filter the similar
results given by MoreLikeThis you have
to use the MoreLikeThisHandler. It
will consider the similar document
result set as the main one so will
apply the specified filters (fq) on
it. If you use the
MoreLikeThisComponent and apply query
filters it will be applyed to the
result set returned by the main query
(QueryComponent) and not to the one
returned by the MoreLikeThisComponent.

2) You need to escape every single character.

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