如何在solr中搜索facet查询中的单词(或者换句话说,如何在facet搜索中使用通配符)
例如
如果我有提交 MyField 的方面,它具有以下值:
- ValX ValY
- ValX
- ValZ ValW
- ValX ValV
- ValA ValX
- ValA ValB
现在,如果我搜索fq=MyField:ValX
,我将只获得第二条记录。我如何搜索ValX并获得第1,第2,第4和第5条记录?
您知道fq=MyField:*ValX*
不被允许,fq=MyField:ValX*
不会返回第5条记录
任何想法都受到高度赞赏。
答案 0 :(得分:2)
如何在schema.xml中定义MyField?看起来好像它没有被标记化,例如
type="string"
使用
type="text"
字段值被标记化以便
fq=MyField:valx
应该匹配1,2,4和5.
答案 1 :(得分:1)
Wildcard card on Facet Query should work
由于通配符查询未进行任何分析,您可以尝试fq=MyField:valx*
你所尝试的不是过滤而是搜索
使用带有小写过滤器的空白分词器并搜索q=MyField:valx
,它将与结果匹配。您也可以使用前缀和通配符查询。