如果我想使用 python 在 Django 中实现 Solr 的突出显示功能,那怎么使用包来完成
solrpy
此外, solrpy 仍然可以用于 solr 的更多功能,例如刻面,高亮显示和填充等功能,除了基本查询
sc = solr.SolrConnection("http://localhost:8080/solr/cases")
response_c=sc.query('name:*%s'%q+'*',fields='name,decision_date', highlight='name')
print(response_c.results)
for hit in response_c.results:
print(hit)
为什么上面的代码无法实现“突出显示”?
答案 0 :(得分:0)
是的。下面的代码允许突出显示(pysolr,版本3.6.0):
import pysolr
solr = pysolr.Solr('http://localhost:8983/solr/<core/collection>')
results = solr.search('hello', **{
'hl': 'true',
'hl.fragsize': 10,
'hl.field': 'text'
})
for i in results:
print(i)
print(results.highlighting)
results.highlighting
字段将存储突出显示的搜索摘要。其他字段是facets
,grouped
,hits
,spellcheck
,stats
。在https://github.com/django-haystack/pysolr
答案 1 :(得分:0)
突出显示的信息存储在响应对象上名为highlighting
的单独条目中:
If you pass in `highlight` to the SolrConnection.query call,
then the response object will also have a "highlighting" property,
which will be a dictionary.
话虽如此,我强烈建议使用pysolr而不是solrpy,因为pysolr由django-haystack项目维护,并且与solrpy相比在过去几年中一直在不断开发。