我有一个Solr 3.5索引,我需要运行一个快速包含查询以进行调试。
该列的类型为 StrField ,我需要执行q=FieldName:*.MP4
我知道一个永久的解决方案是将字段重新索引为ngram,但这只是一次快速查询,我想知道它是否可能。
答案 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中将领先的外卡打开。