Ruby on rails 3 如何避免从solr检索整个存储字段

Ruby on rails 3 如何避免从solr检索整个存储字段,ruby-on-rails-3,solr,sunspot,Ruby On Rails 3,Solr,Sunspot,我正在使用sunspot和solr来搜索rails应用程序中的电子书内容,为了突出显示功能,我必须将电子书内容设置为一个存储字段,每次我查询solr的结果时,它都会发回关于这本书的整个文档内容,这使得查询速度非常慢 如果没有存储字段,我怎么可能只得到结果?允许您指定要在结果中返回哪些字段。如果有字段id、title、ebook\u content,则可以使用fl=id、title忽略ebook\u content字段。我认为Solr不支持获取除一个字段之外的所有字段(例如-ebook\u con

我正在使用sunspot和solr来搜索rails应用程序中的电子书内容,为了突出显示功能,我必须将电子书内容设置为一个存储字段,每次我查询solr的结果时,它都会发回关于这本书的整个文档内容,这使得查询速度非常慢

如果没有存储字段,我怎么可能只得到结果?

允许您指定要在结果中返回哪些字段。如果有字段
id、title、ebook\u content
,则可以使用
fl=id、title
忽略
ebook\u content
字段。我认为Solr不支持获取除一个字段之外的所有字段(例如
-ebook\u content

更新

如果您不想在正常结果中返回该字段,但仍然希望在该字段上,请按照上面所述排除该字段,然后打开荧光灯:

hl=true
设置应高亮显示的字段:

hl.fl=ebook_content
并设置突出显示片段的大小(以字符为单位):

完成的查询如下所示:

?q=search term&fl=id,title&hl=true&hl.fl=ebook_content&hl.fragsize=50

如果我将电子书内容从fl中删除,我无法获得突出显示,这里有任何特殊查询吗?。。。您想突出显示
电子书内容
,但不想将其作为结果的一部分返回?我真的不明白…我的意思是,我只需要电子书内容的突出显示部分,而不是整个字段的内容,它有时有100k数据要传输好的,所以你需要从
ebook\u content
中摘录,在突出显示发生的位置;对吗?很抱歉我反应太晚了,是的,我测试过了,效果很好,谢谢~
?q=search term&fl=id,title&hl=true&hl.fl=ebook_content&hl.fragsize=50