【问题标题】:Solr - Search by the first part of textSolr - 按文本的第一部分搜索
【发布时间】:2013-08-16 03:05:37
【问题描述】:

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

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

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

谢谢。

【问题讨论】:

标签: sql solr wildcard


【解决方案1】:

你能做的就是让 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

【讨论】:

    【解决方案2】:

    短语不能使用通配符。您可以将prefix query parser 用于string 类型的字段:

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

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

    【讨论】:

      猜你喜欢
      • 2019-02-25
      • 1970-01-01
      • 1970-01-01
      • 2020-07-10
      • 1970-01-01
      • 1970-01-01
      • 2013-08-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多