检索 Solr 查询中的特定字段?

Posted

技术标签:

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

我在 Jetty 上运行 Solr 实例,当我使用 Solr 管理面板进行搜索时,它会返回整个文档。我应该怎么做才能从搜索返回的每个 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=

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

【讨论】:

以上是关于检索 Solr 查询中的特定字段?的主要内容,如果未能解决你的问题,请参考以下文章

如何编写一个 solr 查询来检索数字字段值小于指定值的所有记录?

无法在正常查询中的特定字段上使用“OR”获得预期结果。 Solr可以对特定字段进行OR查询吗?

solr 排序与文档分数计算

haystack

Solr查询解析器大全

如何使用spring-data-solr编写查询,返回特定字段的所有值的列表