我的Solr Server工作正常,包括我的主查询解析器中的有效拼写检查组件 . 现在我正在构建一组JSON Unmarshalling类(在Java中),将查询响应转换为数据,然后我们的webapp的其他元素将被解释 .
问题是,查询令牌作为JSON属性返回 . 因此这些是动态的并且无法在代码中预先确定 . 由于同一级别的其他两个结果不能被解析为类似对象,因为一个是正确拼写的布尔确定,另一个是整理产生的顶级拼写建议,这很复杂 .
虽然我可以忽略它们,因为整理器的顶层元素通常会提供有效的拼写建议,但能够解组这些元素会很好,因为它们包括每个特定术语的拼写建议 .
有没有办法传递查询标记(例如,在查询时传递args,将被解释为JSON属性)从Solr传递到JSON unmarshaller作为我可以构建来解析这些java对象的属性名称建议?
如果没有,我不需要它们 . 但是构造一个无法解析为POJO的JSON似乎有点荒谬 .
这里's an example of my spellcheck' s查询 "artificail intelligrnce" 的JSON输出:
"spellcheck": {
"suggestions": [
"artificail", {
"numFound": 3,
"startOffset": 1,
"endOffset": 11,
"origFreq": 0,
"suggestion": [
{
"word": "artificial",
"freq": 1
},
{
"word": "a r t if i c a i l",
"freq": 57
},
{
"word": "certificate",
"freq": 1
}
]
},
"intelligrnce", {
"numFound": 3,
"startOffset": 12,
"endOffset": 24,
"origFreq": 0,
"suggestion": [
{
"word": "intelligence",
"freq": 3
},
{
"word": "in tell i g r nc e",
"freq": 101
},
{
"word": "inheritance",
"freq": 1
}
]
},
"correctlySpelled", false,
"collation", [
"collationQuery", "\"artificial intelligence\"",
"hits", 1,
"misspellingsAndCorrections", [
"artificail", "artificial",
"intelligrnce", "intelligence"]]]
},
谢谢!