solr newbie在这里
我正在构建查询以增加网页上的某些项目,我希望能够提高包含缩略图(image)值的字段:
<doc>
<str name="campaign"/>campaign
<str name="productclass">B</str>
<str name="thumbnail">
HPMAssets/d120001/derivates/1/250/103/005358625_121203_080900_9853_thumb.jpg
</str>
</doc>
例如,在上面的"缩略图"中包含一个值,因此应在搜索结果页面上显示更高的内容。我尝试了:
q=(thumbnail:["" TO *])^99 (all non-empty thumbnails)
q=(-thumbnail:[* TO *])^99 (all non-null thumbnails)
q=(thumbnail:*)^99 (all thumbnails)
但行不通。我知道我可以提高价值:
(campaign:campaign)^99
作品,并将首先在结果页面上展示带有"竞选"的文章(也就是说,带有特殊优惠的物品/文章)。
为什么这对缩略图不起作用?我如何制定solr-Query,以便在没有现有缩略图的文章前用现有的缩略图显示文章?
编辑
正如Matslindh正确指出的那样,
q =(-thumbnail:[ * to *])^99
是指没有缩略图的所有文档,也不是所有非无效缩略图,这将是:
q =(缩略图:[ * to *])。
显然,问题是在我的schema.xml中没有索引缩略图:
<field name="thumbnail" type="string" indexed="false" stored="true" multiValued="false"/>
所以我将"索引"值更改为" true",然后重新索引我的整个模式。查询syntax从来没有错。
希望这对未来失去的索尔灵魂有帮助。