2014-12-05 3 views
2

매우 간단한 ElasticLinq 검색을 사용하여 결과를 반환하는 데 문제가 있습니다. 문제는 검색 URL에 맞지 않는 ElasticSearch에 URL을 전송하고있는 것 같습니다.ElasticLinq가 올바른 URL을 사용하지 않는 것 같습니다.

http://localhost:9200/mytypes/mytypes/_search 

문제는 mytypes가 두 번 사용하는 것으로 나타납니다 : 나는 마지막 줄을 실행하면

var connection = new ElasticConnection(new Uri("http://localhost:9200"), index: "mytypes"); 
var context = new ElasticContext(connection); 
var results = (from a in context.Query<MyType>() select a).Take(10).ToArray(); 

가, 여기에 내가 피들러에서 볼 수있는 URL입니다 : 여기에 내가 무엇을 시도했다입니다 한 번만보기보다는 URL. 나는 결과가 없습니다 돌아갈 두 경우 모두

http://localhost:9200/_all/mytypes/_search 

:

은 또한 검색 URL은 다음과 인 경우에 ElasticConnection 생성자에 기본 인덱스를 제공하지 시도했습니다.

http://localhost:9200/mytypes/_search 

을 사용하여 검색어를 제출하면 다시 결과가 나타납니다.

ElasticLINQ에서 올바른 검색 URL을 사용하는 방법에 대한 아이디어가 있으십니까?

답변

2

URL의 두 번째 mytypes 쿼리에서 강력한 T 형()

CLR은 유형이 Elasticsearch 문서 유형에 해당하는 기본 규칙이입니다. 그렇게하지 않으려면 대신 ElasticMapping의 GetDocumentType을 재정 의하여 빈 문자열이나 null 문자열을 반환 할 수 있습니다.

그러면 형식이 매핑되는 방식을 고려해야합니다. 필드 이름을 완전하게 한정하고 각 필드에 필드가 존재하는지 확인하는 것과 같은 몇 가지 다른 옵션이 있습니다. (여기가 바로 여기에 있습니다)

관련 문제