mongodb полный текст поиск советы несколько слов - PullRequest
0 голосов
/ 05 сентября 2011

Я пытаюсь выполнить какую-либо форму полнотекстового поиска для одной из моих коллекций mongodb (например, flowdock ).Я создаю запись _keywords для каждого документа и заполняю ее словами в нижнем регистре из других полей этого документа.Затем я ищу его так (поиск с префиксом) ex.searchString = 'car'

found_shots = connection.Shot.find({'_keywords': re.compile('^%s' % searchString.lower())}).limit(limit).skip(skip)

Проблема заключается в том, что я пытаюсь выполнить поиск по нескольким словам (например, searchstring = ['car', 'online']

regex1 = re.compile('^%s' % searchStrings[0].lower())
regex2 = re.compile('^%s' % searchStrings[1].lower())
found_shots = connection.Shot.find({'$and':[{'_keywords':regex1},{'_keywords':regex2}]}).limit(limit).skip(skip)

.не работает. какие-либо идеи, пожалуйста?

Ответы [ 2 ]

1 голос
/ 03 мая 2014

MongoDB 2.6 теперь может разрешить полнотекстовый поиск с помощью команды $ text в сочетании с индексом FTS.

1 голос
/ 05 сентября 2011

$ и доступно только в 1.9.x.

Так как вы используете 1.8.2, он не работает правильно.

Если вы обновитесь, вы получите последний набор команд иВы сможете использовать команду $ and.

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