如何在StrField上包含查询

时间:2013-03-01 21:29:49

标签: solr

我有一个Solr 3.5索引,我需要运行一个快速包含查询以进行调试。

该列的类型为 StrField ,我需要执行q=FieldName:*.MP4

之类的操作

我知道一个永久的解决方案是将字段重新索引为ngram,但这只是一次快速查询,我想知道它是否可能。

2 个答案:

答案 0 :(得分:1)

由于您使用的是Solr 3.5,因此不支持以通配符开头的查询。但是,您可以创建所有术语的反向索引。这意味着您将向后索引所有术语,而您的查询将看起来像q == FieldName:4pm。*

答案 1 :(得分:0)

如果您使用的是Solr 4.0+,则可以进行正则表达式查询:

q=FieldName:/.*%5C.MP4/

其中%5C\的网址编码。

更新:嗯,你甚至都不需要。您的查询

q=FieldName:*.MP4

应该有效。我在4.0和3.6.1中尝试过它并且工作正常。

如果你也想要*.mp4,那么做一个这样的OR查询:

q=FieldName:(*.MP4 OR *.mp4)

更新2:由于您的Solr版本是3.5,之后您添加到了您的问题中,我猜两个选项都不适合您。我猜你需要重新编制索引,除非有人知道如何在solr 3.5中将领先的外卡打开。