【问题标题】:Retrieving specific fields in a Solr query?检索 Solr 查询中的特定字段?
【发布时间】:2010-09-20 20:43:54
【问题描述】:

我在 Jetty 上运行 Solr 实例,当我使用 Solr 管理面板进行搜索时,它会返回整个文档。我应该怎么做才能从搜索返回的每个 Solr 文档中只获取指定的字段?

【问题讨论】:

    标签: lucene solr


    【解决方案1】:
    /?q=query&fl=field1,field2,field3
    

    【讨论】:

    • Andrew 知道如何使用 solr autosuggest 检索字段,例如 /suggest?spellcheck.q=india&fl=count:totaltermfreq(title, 'untitled'),title。
    【解决方案2】:

    从 Solr Admin 主页,单击“完整界面”。在该页面上有一个名为“要返回的字段”的框。您可以在此处列出您想要的(逗号分隔)。 “*”表示所有字段。

    【讨论】:

      【解决方案3】:

      最好的方法是从 Admin concole 运行查询。当我们运行它时,它还提供了实际执行的 SQL 查询。只需复制查询并使用它。

      关于问题:从表格中选择特定字段。在管理控制台中查找“FL”文本框。写下您要检索的字段名称,逗号分隔。点击“执行查询”按钮。 右上角的 SQL 将可用。

      生成的查询:......select?fl=FIELDNAME&indent=on&q=:&wt=json

      【讨论】:

        【解决方案4】:
        http://xx.xxx.xx.xx:8983/solr/corename/select?indent=on&q=*:*&wt=json&fl=ImageID,Imagepath,Category
        

        此链接有 fl 参数: fl 是一个字段列表,它将显示索引列表中的指定字段。

        【讨论】:

        • 虽然这可以解决问题,但including an explanation 确实有助于提高帖子的质量。请记住,您正在为将来的读者回答问题,而这些人可能不知道您的代码建议的原因。也请尽量不要用解释性的 cmets 挤满你的代码,这会降低代码和解释的可读性!
        • 解释也不对; fl 代表 field list - 它不会过滤任何东西 - 只需设置从索引中获取的字段。现有的答案解释了完全相同的事情。
        【解决方案5】:

        您可以在查询中简单地传递带有必填字段名称的 fl 参数。

        &fl=field1,field2,field3&query=:

        您的回复文件仅包含提及的字段。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2023-04-03
          • 2016-01-29
          • 2011-12-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多