в упругом поиска Java API, предположим, что я строю индексированных данных с помощью этого клиентаэластичный поиск: Как получить индексированные данные
Node node = nodeBuilder().clusterName("es").node();
Client client = node.client();
IndexResponse response = client.prepareIndex("twitter", "tweet", "1")
.setSource(jsonBuilder()
.startObject()
.field("user", "kimchy")
.field("postDate", new Date())
.field("message", "trying out Elasticsearch")
.endObject()
)
.execute()
.actionGet();
Это индексированный данные хранятся в папке XYZ/elasticsearch/данных. Мой вопрос заключается в том, как получить эти индексированные данные в java от другого клиента или другого кода. Есть ли способ, которым я могу указать путь, и уже проиндексированные данные могут быть импортированы, тогда я могу выполнять запросы на нем?
Edit:
Код для клиента на другом компьютере
Node node = nodeBuilder().clusterName("es").node();
Client client = node.client();
MatchQueryBuilder qb = QueryBuilders.matchQuery("user", "kimchy");
SearchRequestBuilder srb = client.prepareSearch("twitter").setTypes("tweet");
SearchResponse big = srb.setQuery(qb).execute().actionGet();
SearchHit[] results = big.getHits().getHits();
Это показывает
search.SearchPhaseExecutionException: Failed to execute phase [query], all shards failed
Благодаря
Arya
почему вы не запрашивая его непосредственно на HTTP: // локальный: 9200 вы можете начать с match_all запроса { "запрос": { "match_all": {}} –
@AkashYadav, РВП вещи, Я не буду запрашивать на своем компьютере, я буду просто индексировать его, тогда я просто переношу папку, содержащую данные, на другой компьютер, где я буду запрашивать его. Как я могу получить эти уже проиндексированные данные. Спасибо – Enigma
Процесс будет таким же, просто установите эластичный поиск в другой системе и поместите папку с данными в папку узла в общем месте/usr/share/elasticsearch/data/в системе ubuntu, и все будет работать так же, как и в вашей системы. вы должны использовать одно и то же имя индекса и тот же url, как указано выше. Надеюсь это поможет. –