Hi,

I'm working on a patch to support the new SpellCheckComponent in solr-ruby.
I see that the response in some cases has duplicate keys. Here is an
example:

'suggestions'=>[

'buk',{'numFound'=>5,'startOffset'=>0,'endOffset'=>3,'origFreq'=>0,'suggestion'=>{'frequency'=>27,'word'=>'bul'},'suggestion'=>{'frequency'=>5,'word'=>'bus'},'suggestion'=>{'frequency'=>3,'word'=>'bok'},'suggestion'=>{'frequency'=>3,'word'=>'buy'},'suggestion'=>{'frequency'=>2,'word'=>'bulk'}},

'bot',{'numFound'=>5,'startOffset'=>4,'endOffset'=>7,'origFreq'=>1,'suggestion'=>{'frequency'=>57,'word'=>'box'},'suggestion'=>{'frequency'=>20,'word'=>'tot'},'suggestion'=>{'frequency'=>20,'word'=>'both'},'suggestion'=>{'frequency'=>18,'word'=>'boy'},'suggestion'=>{'frequency'=>7,'word'=>'mot'}},
          'correctlySpelled',false,
          'collation','bul box'
        ]

When this is eval'd in Ruby, only the last instance of a duplicate key
(suggestion) makes it (maybe I'm completely missing something though) - Was
this the desired format and if so, anyone have any ideas on how to handle
this sort of thing? I'd vote for changing 'suggestion'=>{} to
'suggestions'=>[{},{}] etc..

Also, a possible gotcha for this format is... what if one of your terms was
'suggestion' or 'collation'? The spellcheck response fields are mixed right
in with the terms. What about having a separate key called 'terms':

'suggestions'=>[
  'collation', 'bul box',
  'correctlySpelled',false,
  'terms',[
    'buk', {'numFound'=>5, 'suggestions'=>[{},{}]},
    'bot', {'numFound'=>5m 'suggestions'=>[{},{}]}
  ]
]

etc..

Matt

Reply via email to