在solr facet查询搜索中使用通配符

时间:2012-09-09 09:27:20

标签: solr facet

如何在solr中搜索facet查询中的单词(或者换句话说,如何在facet搜索中使用通配符)
例如 如果我有提交 MyField 的方面,它具有以下值:

  1. ValX ValY
  2. ValX
  3. ValZ ValW
  4. ValX ValV
  5. ValA ValX
  6. ValA ValB

现在,如果我搜索fq=MyField:ValX,我将只获得第二条记录。我如何搜索ValX并获得第1,第2,第4和第5条记录?
您知道fq=MyField:*ValX*不被允许,fq=MyField:ValX*不会返回第5条记录 任何想法都受到高度赞赏。

2 个答案:

答案 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,它将与结果匹配。您也可以使用前缀和通配符查询。