MongoDb: регулярное выражение в Java медленно - PullRequest
0 голосов
/ 07 ноября 2018

Итак, если я выполню следующий запрос, это займет чуть менее 5 секунд

db.RawURLS.find({"url" : { $regex : /^https:\/\/en.wikipedia.org/ }}).count()

Если я делаю то же самое, что и в Java, то это занимает намного больше времени

MongoClient mongoClient = MongoClients.create(mainMongo);
MongoDatabase database = mongoClient.getDatabase(mongoDatabase);
MongoCollection<Document> collection = database.getCollection(urlTable);

Document regQuery = new Document();
regQuery.append("$regex", "^(?)" + Pattern.quote("https://en.wikipedia.org/"));
regQuery.append("$options", "i");

Document findQuery = new Document();
findQuery.append("url", regQuery);
MongoCursor<Document> cursor = collection.find(findQuery).iterator();

Я получил ошибку?

У меня есть поле с именем URL, которое я хочу проверить, чтобы увидеть, начинается ли оно, например, с XYZ. URL проиндексирован.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...