【发布时间】: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