У меня есть интеграционный тест в java, фасад, который делает несколько вещей, среди которых операция индекса в эластичную базу данных поиска. Эта эластичная база данных поиска была очень наивно настроена (на самом деле, я нахожусь в фазе обучения). Вставка выполняется внутри этого фасада с помощью java api, также очень наивно, с примером, почти полностью скопированным с помощью упругого поиска, как описано здесь: http://www.elasticsearch.org/guide/reference/java-api/index_.html.
Затем я проверяю, правильно ли мой фасад сделал свой материал, часть которого проверяет, действительно ли этот документ был вставлен в базу данных. Это я снова повторяю так, как на их сайте описывается эластичность: http://www.elasticsearch.org/guide/reference/java-api/search.html. Я вставляю документ с определенной полезной нагрузкой и просматриваю его так же.
Этот тест работает, если я запускаю отладку и устанавливаю точку останова после того, как фасад сделал это, но он не сработал, и не было найдено никаких результатов, если я не поставлю эту точку останова или не буду работать в отладке. Это заставляет меня думать, что я действительно что-то делаю неправильно. Кроме того, само приложение работает (вставки и т.д.), Поэтому, вероятно, что-то не так с моим тестом интеграции, а не с моим скопированным кодом.
Я предполагаю, что после того, как операция индексирования вернется, индексирование еще не закончено, или происходит некоторая репликация, которая не завершается до поиска, или что-то в этом роде, но она ускользает от меня, что именно и я могу " Кажется, он и решил. Я еще не пытался надеть один на один node и один осколок, может быть, там что-то не так, но я действительно не понимаю, что именно, поэтому я еще не ходил по этому пути. Как я уже сказал, только начал использовать эластик, чтобы у меня не хватало чего-то решающего и начинающего. Я могу вставить мой точный код, если это необходимо, но, как я уже сказал, это сводится к использованию двух фрагментов кода с сайта эластичного поиска в тесте.
Kasper