2013-10-15 3 views
2

인용구와 다른 단어를 포함하고 있으며 spring-data-solr 1.0을 사용하고자하는 검색어가 있습니다. 내가 좋아하는 뭔가를하려고했는데 dog "siamese cat" penguinSpring Data Solr 1.0에서 어구를 검색하는 방법

, 내가 공백이 포함 된 경우 contains() 예외를 throw 것을 볼 때까지 나는 노력했다이었다

new Criteria("myfield").contains("dog") 
     .and(new Criteria("myfield").contains("siamese cat")) 
     .and(new Criteria("myfield").contains("penguin")); 

: 여기

는 예를 들어 쿼리입니다.

최근에 나는 .expression()을 시도하고 있지만 잘 작동하는지 또는 실행 가능한 솔루션인지 여부는 알 수 없습니다.

아이디어가 있으십니까? 감사합니다/

+0

'됐나()가'표시 제대로 작동하는지는 모르겠지만'* siamese cat *'과 일치하는지 확실하지 않습니다. – wsams

+4

예. 사이에 공백이있을 경우 구문을 사용합니다. 그러나 * 도망 갈 것이다. 표현식은 주어진 문자열을 취하고 더 이상 처리하지 않습니다. –

답변

3

승 난 표정으로 그것을 해결 :

new Criteria("myfield").expression("\"siamese cat\"") 
0

이 ... 나를 위해 작동 공간이기 때문에 특수 문자가 그냥 탈출 :

new Criteria("myfield").expression("siamese\ cat") 
관련 문제