Рубрики
Uncategorized

PHP mongodb нечеткий поиск

Автор оригинала: David Wong.

В прошлом использовалась база данных MySQL, поэтому ее можно решить путем неопределенного поиска по ключевым словам. Недавно получил доступ к платформе mongodb, временно не смог адаптироваться, наступил на некоторые ямы, записанные здесь, в надежде быть полезным другим.

1. How does mongodb search all fields of ordinary non-text Answer: Use regular expressions. For students who used MySQL frequently in the past, it may not be suitable, because when we think of regular expressions, we will think of the impact on performance, usually can not be used, but mongodb can only use regular expressions for fuzzy search in addition to text index. Как mongodb выполняет поиск по всем полям обычного нетекстового ответа: Используйте регулярные выражения. Для студентов, которые часто использовали MySQL в прошлом, это может не подойти, потому что, когда мы думаем о регулярных выражениях, мы будем думать о влиянии на производительность, обычно их нельзя использовать, но mongodb может использовать только регулярные выражения для нечеткого поиска в дополнение к текстовому индексу.

2. How to use regular expressions in PHP Answer: MongoDBBSONRegex ( php 7 uses mongodb extensions) and mongoregex (php7 used Mongo extensions before) Как использовать регулярные выражения в PHP Ответ: Регулярное выражение MongoDB BSON ( php 7 использует расширения mongodb) и mongoregex (php7 ранее использовал расширения Mongo)

3. The difference between the two in detail Answer: The string passed in by MongoDBBSONRegex when constructing the regex object does not need a slash before and after, and the option is passed in through the second parameter. Разница между ними в подробном ответе: строка, переданная регулярным выражением MongoDB BSON при построении объекта регулярного выражения, не нуждается в косой черте до и после, и опция передается через второй параметр.

$regex = new MongoRegex("/^$search/");

$regex = new  \MongoDB\BSON\Regex("^{$search}", 'i');

Конечно, полнотекстовая индексация mongodb также поддерживается