我正在将 sunspot 和 solr 用于 rails 应用程序来搜索电子书内容,对于突出显示功能,我必须将 ebook_content 设置为存储的文件,每次我查询 solr 的结果时,它都会发回关于这本书的整个文档内容,其中使查询非常慢。
如果没有存储字段,我怎么才能得到结果?
我正在将 sunspot 和 solr 用于 rails 应用程序来搜索电子书内容,对于突出显示功能,我必须将 ebook_content 设置为存储的文件,每次我查询 solr 的结果时,它都会发回关于这本书的整个文档内容,其中使查询非常慢。
如果没有存储字段,我怎么才能得到结果?
fl
Solr的参数允许您指定要在结果中返回的字段。如果您有 fields id, title, ebook_content
,那么您可以使用fl=id,title
省略该ebook_content
字段。我认为 Solr 不支持获取除一个(例如-ebook_content
)之外的所有字段。
更新
如果您不想在正常结果中返回该字段,但仍希望在该字段上突出显示,请按照我上面所述排除该字段,然后打开荧光笔:
hl=true
设置应突出显示的字段:
hl.fl=ebook_content
并设置突出显示片段的大小(以字符为单位):
hl.fragsize=50
您完成的查询如下所示:
?q=search term&fl=id,title&hl=true&hl.fl=ebook_content&hl.fragsize=50