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

64

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

5个回答

111
/?q=query&fl=field1,field2,field3

Andrew,你知道如何使用Solr Autosuggest检索字段吗?就像这样/suggest?spellcheck.q=india&fl=count:totaltermfreq(title, 'untitled'),title。 - atpatil11

8

从Solr管理首页,点击“完整界面”按钮。在该页面上有一个名为“返回字段”的框,您可以在此处列出所需的字段(用逗号分隔)。 "*"表示所有字段。


1
http://xx.xxx.xx.xx:8983/solr/corename/select?indent=on&q=*:*&wt=json&fl=ImageID,Imagepath,Category

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

虽然这可能解决问题,但包括解释真的有助于提高您的帖子质量。请记住,您正在为未来的读者回答问题,而这些人可能不知道您的代码建议的原因。请还尝试不要在代码中加入过多的解释性注释,这会降低代码和解释的可读性! - Filnor
1
解释也不正确;fl代表field list - 它不会过滤任何东西 - 只是设置从索引中获取哪些字段。现有的答案已经完全解释了同样的事情。 - MatsLindh

0

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

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

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


0

在编写查询时,您可以通过简单地将所需的字段名称作为 fl 参数传递。

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

这样,您返回的响应文档中只会包含指定的字段。


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