我的solr架构中有一个字段为“发布日期”(不包括引号)。当我用“fl”(字段列表)参数触发查询以便仅查看搜索结果的发布日期时,由于此字段包含空格,因此我在文档响应中没有得到任何内容。我尝试使用+,%20但仍然没有结果。请帮忙。
答案 0 :(得分:2)
我想告诉我,我找到了解决方法。我尝试过尝试,因此提出了一个解决方案,将\+
替换为查询中的空格。因此查询应为Post\+Date:[ranges]
我无法改变我的架构,因为许多团队依赖它并且我们正在将系统升级到新的搜索引擎。
答案 1 :(得分:2)
你可以通过这样包装来指定(Solr认为疯狂的)字段:
field(Post Date)
这实际上也改变了返回的结果字段名,所以你会得到类似的东西:
"field(Post Date)" : "2010-01-01"
而不仅仅是你想象中的名字。
答案 2 :(得分:0)
作为一种可能的解决方法,您可以使用通配符来实现结果。使用solr wiki http://wiki.apache.org/solr/CommonQueryParameters#glob,您可以指定可能解决问题的fl=Post*Date
。我没有验证这一点,但可能会有效。
更新:这似乎不适用于我试过的任何一个版本的solr(1.4.0和3.6.1)。看起来这可能已经在http://wiki.apache.org/solr/FieldAliasesAndGlobsInParams进行了讨论,但似乎没有实施。