Каждый раз, когда я пытаюсь сделать searchHit.sourceAsString()
или searchHit.getSourceAsString()
, я получаю null
назад. Но если я попробую searchHit.getFields()
-> он даст мне Map[String, SearchHitField]
, а затем я смогу получить от него необходимые поля - что я не хочу делать. Это потому, что я хочу использовать библиотеку Lift-json
для анализа «если получен» json
строка из searchHi
t в моем классе. Есть идеи?Как получить строку json для поискаHit?
ответ
Оберните эластичный поисковый вызов searchHit.sourceAsString()
в scala.Option что-то вроде: Option(searchHit.sourceAsString())
. Вы можете скомпоновать это или сделать шаблон, как хотите.
По существу, когда вы обертываете нуль в опции, он дает вам scala.None type back. Вы можете попробовать его в сеансе REPL.
Если вы хотите создавать, вы можете сделать это:
val jvalOpt: Option[net.liftweb.json.JValue] = Option(searchHit.sourceAsString()).map(net.liftweb.json.parse(_))
или если вы хотите, чтобы соответствовать шаблону, то вы можете сделать это:
val jval = Option(searchHit.sourceAsString()) match {
case None => // todo
case Some(s) => net.liftweb.json.parse(s)
}
searchHit.sourceAsString()
вернется null
, если вы этого не сделаете запросите поле _source
.
Это происходит, если вы отключили его в своем сопоставлении (в этом случае вы должны включить его), или если вы укажете другие поля для возврата.
В частности, вы должны передать _source
в список полей в SearchRequestBuilder. Список полей по умолчанию - [_source]
, поэтому, если вы не укажете никаких других полей, вы получите свой _source
, но если вы укажете другие поля, вы также должны добавить _source
.
- 1. Как получить строку JSON?
- 2. Как получить строку в JSON?
- 3. Как получить следующую строку JSON?
- 4. Как получить json строку из json? Callback?
- 5. Как получить строку в формате Json
- 6. Получить строку из запроса JSon
- 7. Как получить строку из Json Array
- 8. Получить строку JSON с httpClient
- 9. получить JSON строку в XML
- 10. Jmeter - получить вложенную строку Json
- 11. Потребление JSON - получить только строку
- 12. Как получить строку JSON в C?
- 13. Как получить строку [] из следующей строки JSON?
- 14. Как получить метаданные класса в строку JSON
- 15. Как получить строку sub строки JSON
- 16. Как получить строку json с помощью jquery?
- 17. Как получить строку из объекта JSON
- 18. Как получить строку из массива объектов json?
- 19. Как получить конкретную строку от Json
- 20. Как получить строку JSON из сокета
- 21. Как получить конкретный раздел JSON в строку?
- 22. как получить строку из JSON в Java
- 23. Получить строку из объекта JSON
- 24. Получить JSON строку из URL
- 25. Как получить следующую JSon строку для разделения объектов в C#
- 26. Получить строку из массива JSON?
- 27. Как изменить источник timeline.js вместо файла JSON получить строку JSON?
- 28. Как создать строку фильтра для JSON
- 29. Как получить строку из нескольких массива JSon внутри объекта JSon
- 30. JSON: как получить JSON-строку в JavaScript Object
Я ВСЕГДА получаю null обратно, когда я выполняю поискHit.getSourceAsString(). Мой оригинальный вопрос - не научиться разбираться, а как получить json для searchHit. –
Я неправильно понял вопрос. @ Ответ knutwalker кажется правильным. –