spring 数据 mongodb 使用 And 运算符的全文搜索
spring data mongodb full text search with And operator
我正在使用 Spring 数据 mongodb 进行全文搜索。
我的用户域 class 是这样的:
@Document
public class User implements UserDetails{
@TextIndexed
private String name;
@TextIndexed
private String location;
}
我有两个用户对象:
user1(name:"dk",location:"Gurgaon, Haryana, India");
user2(name:"Peter",location:"india");
现在我想搜索用户 "dk" 的位置 "india".
为此,我创建了一个 TextCriteria,例如:
TextCriteria criteria = TextCriteria.forDefaultLanguage().matching("dk").matching("india");
并且它同时搜索两个用户,即 user1 和 user2。这在 machingAny(String...texts) 的情况下是预期的。
如何创建与要搜索的两个词都匹配的查询。
在 Spring-data-mongodb 中,你可以用那种方式做到这一点
TextCriteria criteria = TextCriteria.forDefaultLanguage().matchingPhrase("dk").matchingPhrase("india")
有关更多信息,您可以阅读本文
http://docs.mongodb.org/manual/reference/operator/query/text/#phrases
我正在使用 Spring 数据 mongodb 进行全文搜索。
我的用户域 class 是这样的:
@Document
public class User implements UserDetails{
@TextIndexed
private String name;
@TextIndexed
private String location;
}
我有两个用户对象:
user1(name:"dk",location:"Gurgaon, Haryana, India");
user2(name:"Peter",location:"india");
现在我想搜索用户 "dk" 的位置 "india".
为此,我创建了一个 TextCriteria,例如: TextCriteria criteria = TextCriteria.forDefaultLanguage().matching("dk").matching("india");
并且它同时搜索两个用户,即 user1 和 user2。这在 machingAny(String...texts) 的情况下是预期的。
如何创建与要搜索的两个词都匹配的查询。
在 Spring-data-mongodb 中,你可以用那种方式做到这一点
TextCriteria criteria = TextCriteria.forDefaultLanguage().matchingPhrase("dk").matchingPhrase("india")
有关更多信息,您可以阅读本文 http://docs.mongodb.org/manual/reference/operator/query/text/#phrases