Solr查询未显示所有字段。

3

我正在学习solr(5.5.0)并以独立模式运行。

这是solr-data-config.xml文件:

<dataConfig>
    <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://127.0.0.1/DBN" user="root" password="root"/> 
    <document>
        <entity name="planexample" query="select * from plan where userid=60 limit 3">
            <field column="planid" name="id" />
            <field column="userid" name="userid" />
            <field column="planname" name="planname" />
            <field column="del" name="del" />
        </entity>
    </document>
</dataConfig>

我按照要求将字段添加到了managed-schema中:

<field name="userid" type="int" indexed="true" stored="true" required="true" multiValued="true"/>
<field name="planname" type="string" indexed="true" stored="true" required="true" multiValued="true"/>
<field name="del" type="int" indexed="true" stored="true" required="true"  multiValued="true"/>
<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />

但是当我在Solr的网页上进行查询时,例如:ip:8983/solr/corename/select?q=del%3A1&wt=json&indent=trueip:8983/solr/corename/select?q=userid%3A60&wt=json&indent=true,结果仅显示id除了userid,planname,del之外的字段,如何使这些字段在结果中可见?还有,结果中的score字段是什么意思?
一种结果示例:
{
    "responseHeader": {
        "status": 0,
        "QTime": 1,
        "params": {
            "indent": "true",
            "q": "del:1",
            "_": "1461050814466",
            "wt": "json"
         }
    },
    "response": {
        "numFound": 10,
        "start": 0,
        "maxScore": 0.90468985,
        "docs": [
            {
                "id": "985963",
                "score": 0.90468985
            },
            {
                "id": "1033572",
                "score": 0.90468985
            },
            {
                "id": "1763216",
                "score": 0.90468985
            }
        ]
    }
}
1个回答

3
您需要提供一个 fl 参数,以获取所有已存储的字段, 可以使用 &fl=* 或者逗号分隔的字段列表,例如 &fl=id,userid,planname,del

谢谢!但是为什么这些字段看起来像数组呢?{"planname": ["MM"], "userid": [60],"id": "985963","del": [1]} - zhengyu
1
因为您在模式中将它们标记为多值字段,所以它们可以存储多个值。 - DhruvPathak

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接