Configuración de prioridad de índice de texto completo de MongoDB

Cree dos documentos en prueba, el comando es el siguiente

db.test.insert( [{
    
     Sysno:1111, Productname:"Rose", Weight:123, Productmode:"aaa", }, {
    
     Sysno:2222, Productname:"flower", Weight:345, Productmode:"aaa", } ] )

Inserte la descripción de la imagen aquí

Busque documentos que contengan la palabra clave rose en todos los documentos de la colección que desea probar (rango de texto completo), establezca la prioridad para los campos productname y productmode respectivamente, y la prioridad predeterminada de los campos sin prioridad es 1. Los comandos y resultados son los siguientes:

db.test.createIndex({
    
    "$**":"text"},{
    
    "weights":{
    
    "Productname":10,"Productmode":5}})

Inserte la descripción de la imagen aquí
Los resultados de la consulta son los siguientes:
Inserte la descripción de la imagen aquí

Cree dos documentos más y luego busque rosa, los resultados son los siguientes

db.test.insert( [{
    
     Sysno:3333, Productname:"bbb", Weight:123, Productmode:"rose", }, {
    
     Sysno:4444, Productname:"aaa", Weight:"rose", Productmode:"ccc", } ] )

Inserte la descripción de la imagen aquí

Se puede ver que al realizar una búsqueda, primero busque si la palabra clave rosa está incluida en el campo de nombre de producto de un documento y luego genere el documento; de lo contrario, busque si contiene rosa en el modo de producto y emite si lo hay; si no, estará en todos los demás Busque rosas en el campo. El orden de búsqueda está determinado por la prioridad establecida previamente.

La sintaxis para crear un índice de texto completo es la siguiente:
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/weixin_42126962/article/details/109385896
Recomendado
Clasificación