Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在SpringDataSolr1.0中搜索短语_Java_Spring_Solr_Spring Data_Spring Data Solr - Fatal编程技术网

Java 如何在SpringDataSolr1.0中搜索短语

Java 如何在SpringDataSolr1.0中搜索短语,java,spring,solr,spring-data,spring-data-solr,Java,Spring,Solr,Spring Data,Spring Data Solr,我有一个包含引用短语和其他单词的搜索查询,希望使用SpringDataSolr1.0 下面是一个查询示例:狗“暹罗猫”企鹅 我一直在尝试这样的事情 new Criteria("myfield").contains("dog") .and(new Criteria("myfield").contains("siamese cat")) .and(new Criteria("myfield").contains("penguin")); 这就是我一直在尝试的,直到我

我有一个包含引用短语和其他单词的搜索查询,希望使用SpringDataSolr1.0

下面是一个查询示例:
狗“暹罗猫”企鹅

我一直在尝试这样的事情

new Criteria("myfield").contains("dog")
        .and(new Criteria("myfield").contains("siamese cat"))
        .and(new Criteria("myfield").contains("penguin"));
这就是我一直在尝试的,直到我看到
contains()
在包含空格时抛出异常

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


有什么想法吗?谢谢/w

我用表达式解决它:

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

我用表达式来解决它:

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

这对我有用。。。因为空格是一个特殊的字符,所以只需将其转义:

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

这对我有用。。。因为空格是一个特殊的字符,所以只需将其转义:

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

.is()
似乎正在工作,但不确定是否匹配
*暹罗猫*
。是。如果中间有空格,is将执行一个短语。但是……会逃脱的。表达式将接受给定字符串,不进行进一步处理。
.is()
似乎正在工作,但不确定是否匹配
*暹罗猫*
。是。如果中间有空格,is将执行一个短语。但是……会逃脱的。表达式将接受给定的字符串,不进行进一步处理。