Solr查询返回一个字段的部分匹配,而不是另一个字段

时间:2011-07-08 21:00:08

标签: java solr

我的网站上有搜索自动填充功能,而我正在使用Solr查找匹配的文档。我试图在页面标题上获得部分匹配,所以例如Java *将匹配Java,Javascript等。截至目前,自动完成设置为给我部分匹配页面中的所有文本,这给出了一些奇怪的结果,所以我决定切换到使用页面标题。但是,当我尝试将搜索字词从页面文本的text切换为title时,查询突然不再获取部分匹配。以下是我原始查询的示例:

q=text:java^2+text:"java"
  &hl=true&hl.snippets=1&hl.fragsize=25&hl.fl=title&start=0&rows=3

不幸的是,为我设置此功能的人不再与我合作,所以我不知道发生了什么事情。我正在使用Spring / J2EE作为我的后端,如果这有任何区别的话。

2 个答案:

答案 0 :(得分:2)

您需要确保该字段不是基于字符串的字段。如果您查看schema.xml,可以查看此内容。如果您在字符串字段中使用Java*进行搜索,则只会匹配以Java*开头的标题。

另一件事是您需要确保您知道通配符查询区分大小写(see this)。

答案 1 :(得分:0)

取决于如何分析字段标题,查看schema.xml以查看字段的类型以及如何分析字段以创建术语。简单的方法是转到solr admin http://localhost:8983/solr/admin/analysis.jsp,选择相同的名称选项,输入字段名称(我猜'标题')放置一些示例文本和查询以查看创建和匹配的术语

相关问题