我有一個包含多值字段的Solr模式。我正在從外部解析Solr並使用http://wiki.apache.org/solr/UpdateJSON更新索引(另請參閱http://wiki.apache.org/solr/UpdateXmlMessages)。下面是一個玩具示例,演示了我試圖解決的問題。在Solr更新中指定多值詞頻率?
{
"add": {
"doc": {
"id": "MyDocumentID",
"user": "MyUserID",
"meals": ["pizza", "pizza", "pizza", "burger"]
}
}
}
,我希望能找到某種語法,讓我表示,「披薩」出現3次,實際上並沒有寫出來的3倍。問題是這些頻率中的一些頻率可能在幾千或幾萬。 (我正在使用存儲的術語頻率來過濾和排列搜索結果。)這樣的語法是否存在?我正在做這件事,但是這裏有一個這樣想象的例子。
{
"add": {
"doc": {
"id": "MyDocumentID",
"user": "MyUserID",
"meals": ["pizza"*3, "burger"]
}
}
}
我懷疑答案是,如果我想要這樣的行爲,我需要自己編寫一些Solr代碼。我希望避免這種情況,但如果是這種情況,您仍然可以通過指向我要開發的代碼的正確區域來幫助我。
這裏有一個相關的Lucene的問題:Can I insert a Document into Lucene without generating a TokenStream?
您使用的是什麼Solr版本? – jmend
對於Solr 4.4,您可能需要從[JsonLoader]開始(http://svn.apache.org/repos/asf/lucene/dev/trunk/solr/core/src/java/org/apache/solr /handler/loader/JsonLoader.java),這裏是你的更新消息被解析的地方(查看parseDoc()和parseSingleFieldValue())。希望這可以幫助。 – jmend
我正在使用版本4.4.0。 –