2016-09-08 3 views
0

Если ключевое слово дается как красной рубашке, набор результатов должен быть какнужен поисковый запрос MongoDB

Если я использую этот запрос, {$text: {$search: "\""+req.body.productName+"\""}} получая результат, как

магазин этот оранжевый Colou красная рубашка ткань и везде заметили эта ткань из дома моды Foreplus Ведущие мужчины Магазин одежды Хлопчатобумажная смесь и яркий мягкий цвет дает лет

но нужна результат

магазин Это красного оранжевого цвета ткань и замеченная везде эта ткань приходит из дома рубашки из Faslike

Если данное ключевое слово находится в разных местах, хотя я должен получить результат.

+0

Я пробовал этот запрос db.collection ('collection'). Find ({$ text: {$ search: "\" red shirt \ ""}}) –

+0

В какой собственности вы храните «цветной красный»? Вы можете разместить один документ здесь – abdulbarik

+0

{ "_id": ObjectId ("57d110a78137536c0a0ca258"), "ProductName": "Мода Foreplus Полосатый Хлопок Смешать ShirtFabric1431", "ProductDescription": «Магазин этот оранжевый цветные рубашки ткани и замеченными везде эта ткань приходит из дома моды Foreplus Ведущие мужчины s Модный магазин Cotton blend и яркий мягкий цвет дают лету « } –

ответ

0

Вы можете использовать этот запрос

db.collection('collection').find({ProductName:new RegExp('red shirt', 'i')}) 
+0

получить тот же результат –

+0

db.collection ('collection').find ({ProductName: new RegExp ('red shirt', 'i')}) Я должен получить результат, который содержит как красные, так и рубашечные слова, но не обязательно должен быть рядом, но оба слова должны присутствовать –

+0

Попробуйте использовать слово граница вокруг красного и рубашки. 'new RegExp ('\ bred \ sshirt \ b', 'i')' –

0

это не будет работать @kalyan Manthena. Причина:

Проверьте описание продукта: Магазин этой оранжевой ткани с рубашкой и заметьте всюду. Эта ткань происходит из дома моды Foreplus Ведущие мужчины s Магазин одежды Хлопковая смесь и яркий мягкий цвет дают лет.

теперь представьте себе, что индекс текст построен на Описание продукта области и выполнении запроса для

db.yourCollection.find ({$ текст: {$ Поиск: «красная рубашка»}})

будет делать штопор и попытаться соответствовать красной и рубашке в описании, и хотя он не нашел красного (как слово), он находит рубашку и возвращает все описание.

вашего освобожденного результат: Магазин этой красной оранжевого цвета ткань и замеченная везде эта ткань приходит из дома рубашки Faslike

даже существует этот текст для любого продукта в вашей коллекции? Монго не может создавать для вас текст. он может запросить только то, что лежит в системе.

Смежные вопросы