새로운 2.X NEST 클라이언트를 사용하고 있습니다. 그 부분은 잠재적 인 해답에 영향을 줄 수있는 많은 중요한 변경 사항이 있었기 때문에 중요합니다.2.X NEST 클라이언트로 검색 응답 요청 본문 받기
이전에는 Glimpse Elasticsearch 플러그인을 사용하여 NEST에서 생성 된 기본 쿼리를 확인했습니다. 그러나 플러그인이 2.X NEST와 더 이상 호환되지 않는 것으로 보입니다. 결과적으로 JSON 쿼리를 볼 수있는 해결 방법을 찾으려고합니다. 여기서 문제는 요청 본문에 접근하기 위해 이전에 접근했던 response.RequestInformation
의 방법이 사라 졌다는 것입니다. ApiCall
, CallDetails
및 DebugInformation
의 조합으로 대체 된 것으로 보입니다. 여기서 문제는 ElasticClient
에 전달하는 ConnectionSettings
인스턴스에 .DisableDirectStreaming()
을 추가하지 않으면 요청 바이트 배열이 모두 null이라는 것입니다. 문제는 Ninject와 함께 의존성 삽입을 사용하여 모든 것을 처리한다는 것입니다. 따라서 컨트롤러 액션과 같은 것에서는 변경을하기 위해 ConnectionSettings
인스턴스에 액세스 할 수 없습니다. 나는 단지 .DisableDirectStreaming()
을 전 세계적으로 추가 할 수 있다고 생각하지만, 그 잠재적 인 결과는 무엇인지 모르며, 이것에 대한 문서는 좌절감이 부족합니다.
여기에는 답변을위한 몇 가지 방법이 있습니다. 그 중 어떤 것도 받아 들일 것입니다. 첫째, 누군가가 2.X로 작동하는 Glimpse 플러그인을 얻을 수 있다면, 나는 당신이 무엇을했는지 알고 싶다. 그러나 근본적인 API가 극적으로 바뀌 었다는 사실에 기반하여, 내 생각에 누군가 플러그 - 인이 2.X로 갈 때까지 또는 플러그인이 자체 버전으로 출시 될 때까지 플러그인이 근본적으로 손상된다는 가정이 있습니다. 미래).
두 번째로 직접 스트리밍을 사용 중지하지 않고 요청 본문에 도달 할 수있는 방법이 있다면 간단히 놓쳤습니다. 거기에 안내해 주시면 감사하겠습니다.
사람이 내 Ninject에 설정에 영향을 주거나, 삐 소리 주시기 바랍니다. 마지막으로을 전 세계적으로 적용하지 않고, 컨트롤러 액션 수준에서 직접 스트리밍을 해제 할 수있는 방법에 대한 아이디어가있는 경우
셋째, 그것은 좋은 것입니다 Elastic 팀의 직원이 직접 스트리밍을 사용하지 못하게하는 것과 그로 인해 발생할 수있는 잠재적 인 문제를 알려줄 수 있다면 전 세계적으로 적용할지 여부를 결정할 수 있습니다.
NEST 5.x에서 요청별로 직접 스트리밍을 사용하지 못하도록 설정할 수 있습니다. 2.x로 다시 포트 할 수 있는지 확인합니다. –
이 정보를 찾는 사용자는이 정보를 찾을 수 있습니다 여기 - https://www.elastic.co/guide/en/elasticsearch/client/net-api/current/debug-information.html - 'SearchDescriptor'는 'RequestConfiguration'을 허용합니다. –