【问题标题】:solr search by fq is matching partial stringfq 的 solr 搜索匹配部分字符串
【发布时间】:2015-03-10 21:09:13
【问题描述】:

我设置了一个 Solr 实例,其中一些文档已经编入索引。我想使用过滤器查询通过其 url 字段查询某些文档。 q 字段输入通配符字符串,fq 字段输入完整的 url 字符串。

q=*:*
fq=url:'mysite.com'

此查询返回与 url:com 匹配的所有文档。

所以任何以 .com 结尾的域都会被返回。

如何让它只返回整个字符串匹配,即域 mysite.com 中的文档?

【问题讨论】:

  • 我猜你的 Solr 集合中的 url 字段是 text 类型(或类似类型)而不是 string 类型。后者是您要用于精确匹配的内容。
  • URL 值周围的引号应该可以工作。 url 字段标记化、索引和查询时间如何?
  • @DavidFaber 在我的情况下我不会使用字符串,因为我想将 mysite.com 匹配到 www.mysite.com
  • 我会尝试用双引号将搜索词括起来 " 并使用空格而不是句点 . - 例如,fq=url:"mysite com"。我看到的困难是它可能仍然使用词干,以便搜索词可能匹配例如mysites.com
  • @sidgate,是的,但是 OP 没有提到部分匹配,只有“整个字符串匹配”。

标签: solr


【解决方案1】:

双引号是解决办法。

“mysite.com”给出了正确的结果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-17
    • 2017-04-01
    • 2011-06-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多