[英]What means “*” after “@” in solr query
我有查询: http://localhost:8983/solr/user/select?q=username%3Auser%40site*&wt=json&indent=true
for username:user@site*
但结果数为0。如果删除*
结果数量正确。 如果我使用查询username:user
和username:user*
,结果将相同。
在查询中@
之后使用*
发生什么情况?
唯一发生的是*
使查询成为通配符查询。 当查询具有通配符时,将不进行任何分析(嗯,不是完全正确,因为仍然应用了某些多术语过滤器)。 因此,如果在建立索引时将字段在@
上拆分为例如user
和site
令牌,则在查询时不会发生相同的拆分。
因此,Lucene尝试查找以user@site
开头的令牌,但是由于索引中唯一可用的令牌是user
和site
,因此这些都不匹配。 如果您尝试搜索user*
,那么您可能会大受欢迎。
您可以使用Solr管理员下的“分析”页面查看如何处理输入的字段。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.