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

时间:2011-01-09 21:19:35

标签: solr lucene morelikethis

我对Solr的使用有几个问题:

  1. 某些请求可以发送到不同的路径(处理程序?)。例如,可以将MoreLikeThis组件发送到/ select或/ mlt。
  2. 我在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这是否意味着我不能利用任何/选择特定的电话 - 如果甚至有这样的事情 - 比如facet - ?如果没有,可以配置/选择路径来处理从拼写检查到群集的所有请求吗?

    1. 你如何在Lucene中逃避双字符特殊字符串(&&,||)?
    2. 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

      仍然返回结果,

1 个答案:

答案 0 :(得分:3)

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

  

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

     

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

2)你需要逃避每一个角色。