Я использую Neo4j 4.0.3, Elasticsearch 6.8.3 и APO C.
Я хочу выполнить запрос агрегации Elasticsearch через Neo4J с использованием процедуры APO C Elasticsearch.
Запрос определен в теле запроса и работает на Elasticsearch, но я не уверен, как создать параметр запроса с помощью процедуры. В Elasticsearch я могу передать тело запроса в качестве параметра источника (с типом содержимого источника JSON).
Чтобы продемонстрировать, я пытался заставить работать простой запрос.
Это работает в Elasticsearch:
GET http://localhost:9200/trends/trend/_search?source={"query": {"match" : {"type" : "ENTITY"}}}&source_content_type=application/json
, но когда я пробую это через процедуру ES:
CALL apoc.es.query('elasticsearch:9200', 'trends', 'trend', 'source={"query":{"match":{"type":"ENTITY"}}}&source_content_type=application/json', null)
Neo4J выдает следующую ошибку :
Failed to invoke procedure `apoc.es.query`: Caused by: java.net.URISyntaxException: Illegal character in query at index 54: http://elasticsearch:9200/trends/trend/_search?source={"query":{"match":{"type":%22ENTITY%22%7D%7D%7D````
Что мне нужно сделать, чтобы правильно передать запрос?