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

仍然返回结果,

4

1 回答 1

3

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

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

如果要过滤 MoreLikeThis 给出的类似结果,则必须使用 MoreLikeThisHandler。它将相似的文档结果集视为主要结果集,因此将对其应用指定的过滤器(fq)。如果您使用 MoreLikeThisComponent 并应用查询过滤器,它将应用于主查询 (QueryComponent) 返回的结果集,而不是 MoreLikeThisComponent 返回的结果集。

2)您需要转义每个字符。

于 2011-01-10T14:25:47.680 回答