3

我有一个包含引用短语和其他单词的搜索查询,并且想使用 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

4

2 回答 2

3

我用表达式解决它:

new Criteria("myfield").expression("\"siamese cat\"")
于 2013-12-24T13:11:32.947 回答
0

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

new Criteria("myfield").expression("siamese\ cat")
于 2018-02-04T17:30:58.417 回答