2014-09-04 102 views
2

我是新来的Solr,但有些东西不像预期的那样工作...Solr - numfound> 0的成功查询,但返回的文档是空的?

我正在寻找文档name = 'the*'。由于我收到numFound > 0,此查询正在运行。但在回复中的文档是空的,即使我已经设置了&fl=*

我想在响应中显示文档的所有可用字段。 (我也试图与&fl=name但它不会改变任何东西

我的查询:

http://localhost:8983/solr/collection1/select q=name%3Athe*&rows=5&fl=*&wt=json&indent=true

响应:

{ 
    "responseHeader": { 
    "status": 0, 
    "QTime": 0, 
    "params": { 
     "q": "name:the*", 
     "indent": "true", 
     "fl": "*", 
     "rows": "5", 
     "wt": "json", 
     "_": "1409803190693" 
    } 
    }, 
    "response": { 
    "numFound": 257052, 
    "start": 0, 
    "docs": [ 
     {}, 
     {}, 
     {}, 
     {}, 
     {} 
    ] 
    } 
} 
+3

需要查看您的字段定义才能知道,但对于黑暗中的镜头:您可能不存储任何字段。可以搜索'indexed = true'的字段,可以检索'stored = true'的字段。请参阅[Solr的常用字段选项](http://wiki.apache.org/solr/SchemaXml#Common_field_options)。 – femtoRgon 2014-09-04 06:26:18

+0

是的,看起来像没有存储该字段。 – sidgate 2014-09-04 15:15:01

+0

@femtoRgon感谢您的帮助,但是我检查了我的schema.xml,并且发现了这个名称字段:' '。这个问题是否可以来自索引编制的时间?我没有创建索引,所以也许这些字段没有存储,这就是为什么我现在无法访问它? – Romain 2014-09-04 18:32:41

回答

0

我的问题当时索引创建了e字段并非storedschema.xml文件中,因此我无法在访问它们之后(即使stored属性设置为true)。

+0

我遇到同样的问题,但有点不同。我有numFound = 29,但我设置开始= 40 :( – 2016-08-02 15:16:18