2017-01-05 4 views
0

슬래시가있는 값이 포함 된 Solr을 쿼리하려고 시도합니다. 그러나 "/ foo /"가 Solr 내에 존재하더라도 계속 0 결과를받습니다.Solr에 문제가있는 경우 슬래시가 포함 된 값 쿼리

var query = Query.Field("tenant_id").Is("/foo/"); 
var results = solrCore.Query(query); 

이 문제를 해결할 수있는 가장 좋은 방법에 대한 의견이 있으십니까?

UPDATE

은 ... SolrNet 나를 바보처럼 느낌, 아주 간단한 수정과

var query = new SolrQuery("tenant_id:\\/retail\\/"); 
var results = solrCore.Query(query); 

고마워 그것을 알아 냈어!

+1

'/ foo /'는 Solr의 정규식 검색 구문이므로 필드 유형에 따라 다르며 라이브러리가'/'를 이스케이프하면 여러 가지 방법으로 처리 할 수 ​​있습니다. 'tenant_id'의 정의는 무엇입니까? Solr에 보낸 실제 쿼리가 무엇인지 확인하려면 Solr 로그를 살펴 보셨습니까? – MatsLindh

답변

1

https://wiki.apache.org/solr/SolrQuerySyntax

은 '/' 이제 특수 문자 이스케이프해야합니다.

"\/foo\/" 
+0

아니요, 여전히 '0'결과가 표시됩니다. 내가 한 일 : var query = Query.Field ("tenant_id"). ("\\/foo \\ /"); – BluishMicrobe

+1

solr UI 인터페이스를 사용하여 결과를 직접 보았습니까? – Oyeme

+1

나는 그랬고 결과를 검색 할 수있었습니다. 하지만 이스케이프 문자로도 SolrNet을 사용하여 쿼리하는 데 문제가있는 이유를 파악할 수 없었습니다. 고맙게도 문제를 파악했습니다. 자세한 내용은 내 업데이트를 확인하십시오. – BluishMicrobe

관련 문제