2016-08-08 36 views
0

Ich muss einen Teil des Wortes finden, wenn ich über len suche, finde alle Wörter dort beginnend mit len.MongoDB und Volltextsuche Teil des Wortes

Ich versuche, Volltextsuche in MongoDB zu verwenden und es funktioniert gut, wenn es 100% Wörter und nicht nur einen Teil der Wörter trifft.

Haben Sie eine Lösung, um dieses Problem zu lösen?

Beispielcode dort arbeiten:

db.getCollection('product').find({ 
    '$and' : [{ 
    '$text': { 
     '$search' : 'lenovo', // match word 
     '$caseSensitive' : false 
    }, 
    '$text': { 
     '$search' : 'y50 b50 y700', // synonym prepared 
     '$caseSensitive' : false 
    } 
    }] 
}) 

Beispielcode ich möchte die gleiche resualt erhalten:

db.getCollection('product').find({ 
    '$and' : [{ 
    '$text': { 
     '$search' : 'len', 
     '$caseSensitive' : false 
    }, 
    '$text': { 
     '$search' : 'y50 b50 y700', 
     '$caseSensitive' : false 
    } 
    }] 
}) 

Vielen Dank für Ihre Zeit und hoffe, dass ich Hilfe für diese bekommen können Volltextsuche in MongoDB

Antwort

1

Wenn Sie Volltextsuche in Mongo möchten, dann sollten Sie sich entscheiden d gehen mit $ Regex mit dieser Abfrage wird

für mehr können Sie die Dokumentation lesen. https://docs.mongodb.com/manual/reference/operator/query/regex/

+0

Funktioniert dieser Regex immer noch an einem Volltextsuchindex? – ParisNakitaKejser

+0

Ja, es funktioniert, Sie können dem obigen Link folgen, um das richtige Format für Ihre Anforderung zu erhalten. –

+0

Vielen Dank, es funktioniert so, wie ich es erwarte :) – ParisNakitaKejser