如何在Spring Data Solr 1.0中搜索短语

时间:2013-10-15 12:32:21

标签: java spring solr spring-data spring-data-solr

我有一个搜索查询,其中包含引用的短语和其他单词,并希望使用spring-data-solr 1.0。

以下是一个示例查询:dog "siamese cat" penguin

我一直在尝试类似的东西,

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

这是我尝试的,直到我看到contains()在包含空格时抛出异常。

最近我正在尝试.expression(),但不确定它是如何工作的,或者这是否是一个可行的解决方案。

有什么想法吗?谢谢/ w

2 个答案:

答案 0 :(得分:3)

我用表达式解决它:

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

答案 1 :(得分:0)

这对我有用...因为空间是一个特殊的字符只是逃避它:

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