Java 如何在SpringDataSolr1.0中搜索短语
我有一个包含引用短语和其他单词的搜索查询,希望使用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")); 这就是我一直在尝试的,直到我
狗“暹罗猫”企鹅
我一直在尝试这样的事情
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将执行一个短语。但是……会逃脱的。表达式将接受给定的字符串,不进行进一步处理。