我是 Solr 主题的新手。我需要知道如何在 solr 上搜索记录,但使用以两个单词开头的字段标题,然后是通配符。例如,当我搜索 SQL 命令时,我可以输入“谁是 %”。
我如何通过文本和通配符的第一部分进行搜索?
我测试了不同的东西,但没有任何效果。这种方式行不通:http//www.domain.com:8080/solr/select?q=title:"Who is *"
谢谢。
你能做的就是让 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
短语不能使用通配符。您可以将前缀查询解析器用于您的string
类型字段:
http//www.domain.com:8080/solr/select?q={!prefix f=title}Who is
请注意,此解决方案区分大小写,因此如果您想搜索“谁是”,则在将文档添加到 Solr 并在程序中对查询进行小写时,您应该将字段小写。