我正在使用Spring数据mongodb进行全文搜索。

我的用户域类类似于:

@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” 以查找位置“印度”

为此,我创建了一个TextCriteria,例如:
TextCriteria条件= 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

10-01 03:03