java - 使用 And 运算符进行 spring data mongodb 全文搜索

标签 java mongodb spring-data-mongodb

我正在使用 Spring data 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” 中搜索位置 “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

关于java - 使用 And 运算符进行 spring data mongodb 全文搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29974625/

相关文章:

node.js - Mongoose .save() 没有保存到数据库?

mongodb 以 10 分钟为间隔聚合时间戳

node.js - Mongoose 获得即将举行比赛的联赛

java - Spring Data MongoDB 始终将对象标识为新对象

java - Mongotemplate中的update方法返回什么?

java - 使用 Java 格式文本创建 Excel

java - 代码仅适用于 2 个步骤,并且输出在 2 个步骤后开始出现偏差

java - XMLDSig : Do I have to specify Reference URI in an enveloped signature

java - 在 Spring Data MongoDB 中为 ZonedDateTime 注册一个新的 Date Converter Auditable

java - 有没有办法在 Java 中使用注解来代替访问器?