2012-01-10 4 views
0

SolrNet을 사용하여 더 큰/더 적은 쿼리를 실행하려면 어떻게해야합니까?SolrNet 쿼리 지원 및 일부 디버깅 옵션

예 :

내 문서 "minimumDays"라는 필드가 있고 난 단지 그 분야는 제가 쿼리에 전달할 수보다 작거나 같은 문서를 반환합니다.

현재이 정보가 있지만 정확한 정보가 아닙니다.

int requestedDays = 3; 
var minimumNightsQuery = new SolrQueryByRange<int>("minimumDays", 0, requestedDays, true); 

올바른 경로에 있습니까?

여기 두 번째 부분은 SolrNet에서 Solr로 전달되는 쿼리를 더 잘 이해할 수있는 방법이 있습니까? 값 또는 예를 들어 "q"변수를 검사 할 수있는 곳을 디버깅하는 중입니다. 당신의 도움

당신은 당신의 질문의 첫 번째 부분에 대한 SolrQueryByRange을 사용할 수 있습니다

답변

1

에 다시

감사합니다. 코드가 멋지게 보입니다. 검색어와 결과를 디버깅하는 것이 도움이 될 수 있습니다. SolrNet이 이상한 일을한다는 것을 알았습니다. - http://code.google.com/p/solrnet/wiki/Facets#Arbitrary_facet_queries

두 번째 부분에서는 ISolrConnection을 가로 채고 중간에 넣을 수 있습니다. 좋은 시작을 위해서는 이것을 체크해보십시오 : http://code.google.com/p/solrnet/source/browse/trunk/SampleSolrApp/LoggingConnection.cs?r=513 쿼리와 결과를 기록하는 설정이 있는데, 설정이 켜져 있으면 디버그 매개 변수를 추가하고 그 결과도 기록합니다. 좋은 정보를 가지고 .... 그리고 그것을 얻을 수있는 유일한 방법 중 하나.

+0

"나는 SolrNet이 이상한 일을한다는 것을 알았습니다."- 이상한 것들? –

+0

Solr을 호스팅하는 컨테이너의 로그에서 Solr로 전달되는 쿼리를 볼 수 있습니다. 예 : Tomcat에서 Solr을 실행중인 경우 catalina 로그 파일을보고 Solr로 보내지는 실제 http 요청을 볼 수 있습니다.이 요청에는 모든 매개 변수가 포함됩니다. –

+0

예, 응답을 표시하지 않으며 디버그 정보를 얻을 수 없습니다. 따라서 쿼리 만 필요하다면 올바른 것입니다. 로깅 수준이 정확하고 쿼리가 POST가 아닌 경우에는 로그에서 찾을 수 있습니다. 대부분의 앱에는 대용량 쿼리가 있기 때문에 일반적으로 POST를 수행합니다. – CrazyDart