太阳黑子亮点未出现
Posted
技术标签:
【中文标题】太阳黑子亮点未出现【英文标题】:Sunspot highlights not appearing 【发布时间】:2011-03-23 03:20:39 【问题描述】:我浏览了 github 中的文档:http://github.com/outoftime/sunspot 以找到突出显示的解决方案,但它似乎对我不起作用。
我的 Job 模型有这样的块(故意省略了一些字段):
可搜索的 文本:名称 字符串 :name, :stored => true 时间:updated_at 时间:created_at 时间:expires_on我有这个,它会返回结果:
搜索 = Sunspot.search(Job) 做 关键字 'Senior', :fields => "name", :highlight => true 结尾 => 0, :fl=>"* score", :"hl.simple.pre"=>"@@@hl@@@", :qf=>"name_text", :rows=>30, :"hl .simple.post"=>"@@@endhl@@@", :hl=>"on", :q=>"senior", :fq=>["type:Job"], :defType=>"最大">并获得这样的点击:
>> 搜索.点击 => [#, #, #, #, #, #, #, #, #, #, #, #, #, #, #, #, #]这是查询的结果,显示名称:
>> search.results.collect|x| x.name => [“高级助理,执行会员”,“高级国际成本核算分析师”,“高级流程工程师”,“副高级流程经理”,“高级工程师(旋转设备)”,“高级技术专家,印度尼西亚”,“高级燃烧工程师”,“高级项目工程师/工程经理”,“高级下部结构设计专家,孟加拉国”,“高级监督工程师(上部结构),孟加拉国”,“高级计划和战略发展顾问 - 顾问”,“高级助理(自然资源)管理专员)”、“高级经理(阿富汗农业市场开发)”、“高级材料工程师(主桥),孟加拉国”、“高级驻地工程师(主桥),孟加拉国”、“高级驻地工程师(主桥),孟加拉国”,“高级材料工程师(主桥),孟加拉国”]我的问题来了..当我得到亮点时,没有返回:
>> 搜索.hits.collect|x| x.highlight(:name) => [无,无,无,无,无,无,无,无,无,无,无,无,无,无,无,无,无,无,无]即使这样,也不会返回高亮点击:
>> 搜索.hits.collect|x| x.亮点 => [[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [] , []]我是否缺少其他标志或参数?
【问题讨论】:
【参考方案1】:我认为这与是否存储文本字段有关。这有什么不同吗:
searchable do
text :name, :stored => true
...
这就是本例中 :body 字段的配置方式:
http://github.com/outoftime/sunspot-rails-example/blob/master/app/models/post.rb
:body 字段是在控制器中查询高亮的字段:
http://github.com/outoftime/sunspot-rails-example/blob/master/app/controllers/searches_controller.rb
希望能做到!
【讨论】:
这就是重点,我试过这个答案,它奏效了。必须存储您要突出显示的字段。不要忘记再次重新索引 solr.. 并准备好必要的动态字段(例如 *_texts)。以上是关于太阳黑子亮点未出现的主要内容,如果未能解决你的问题,请参考以下文章
那些值得称赞的 python 小亮点,断言,with 语句,格式化字符串,听我道来