2013-02-19 1 views
0

우리는 Solrnet을 사용하여 사용자가 선택할 수있는 옵션 세트에 따라 Solr에 복합 쿼리를 발행합니다. 구문, 정확한 구문. 제외, 근접성 등이 포함됩니다. SolrQueryByField API를 사용하여 선택한 옵션을 기반으로 개별 쿼리를 만들고 SolrMultipleCriteriaQuery를 AND 연산자로 조합하여 조합합니다. 그러나 우리는 SOLR, + 기호는 모든 조건을 건너 추가 된 데 제출됩니다 Q 파라미터에 쿼리를 제출할 때 :Solrnet q 복합 쿼리의 파라미터 문제

q=(ContentSearch:(roman)+AND+ContentSearch:("test+case")+AND+-ContentSearch:(wine)+AND+(ContentSearch:(A)+OR+ContentSearch:(B))+AND+ContentSearch:("catacombs+wine"~5)+AND+ContentSearch:([10+TO+20]))} 

+와 + 또는 "테스트 + 케이스"또는 + AND + - 10 + TO +20은 쿼리 파서를 엉망으로 만들고 있습니다. 아무도 전에 이것을 만났습니까? solrnet이 solr에 요청을 보낼 때 URL 인코딩과 관련이 있습니까?

+1

http://groups.google.com/group/solrnet/browse_thread/thread/fcfce3f33681671c/9b24847d25a2b749 –

답변

0

SolrNet 0.4.0을 사용하는 경우 SolrQueryByField Quoted=false에 선택적 매개 변수를 설정할 수 있습니다. 그러면 특수 문자를 이스케이프하도록 QueryByField의 기본 동작이 중지됩니다.

+0

나는 그것을했지만 .... 여전히 동일한 행동을 보여줍니다. 각 쿼리 절에 +를 추가하는 이유와 쿼리 용어 간에는 확실하지 않습니다. – koder

+0

아, 알겠습니다. 왜 각 쿼리 절에 +가 추가되는지 잘 모르겠습니다. 솔트 넷에 내장 된 특수 문자 이스케이프가있을 수 있습니다. –

+0

SolrNet Google 그룹의 이전 질문에 기초 - https://groups.google.com/forum/?fromgroups=#!searchin/solrnet/solrmultiplecriteriaquery/solrnet/zXDIRverHOg/gGRpXaps-8kJ edismax 사용을 고려하고 Solr 당신을 위해 일을 처리하십시오. –