0

我是 Solr 主题的新手。我需要知道如何在 solr 上搜索记录,但使用以两个单词开头的字段标题,然后是通配符。例如,当我搜索 SQL 命令时,我可以输入“谁是 %”。

我如何通过文本和通配符的第一部分进行搜索?

我测试了不同的东西,但没有任何效果。这种方式行不通:http//www.domain.com:8080/solr/select?q=title:"Who is *"

谢谢。

4

2 回答 2

0

你能做的就是让 Solr 相信你的短语只是一个词。

如果您使用这样的过滤器对其进行索引,solr.PatternReplaceFilterFactory" pattern="(\s+)然后确保在将其发送到 solr之前将相同的正则表达式应用于您的查询,这将起到作用。

请查看此链接以获取更多详细信息:http: //pietervogelaar.nl/solr-3-5-wildcard-search-as-sql-like/

还请记住这个已知问题:http: //bensch.be/the-solr-wildcard-problem-and-multiterm-solution

于 2013-08-16T11:41:02.510 回答
0

短语不能使用通配符。您可以将前缀查询解析器用于您的string类型字段:

http//www.domain.com:8080/solr/select?q={!prefix f=title}Who is

请注意,此解决方案区分大小写,因此如果您想搜索“谁是”,则在将文档添加到 Solr 并在程序中对查询进行小写时,您应该将字段小写。

于 2013-08-16T09:30:13.447 回答