Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/
Implemente MongoDB Search y búsqueda vectorial

Usa MongoDB Search y búsqueda vectorial

Si instaló el recurso MongoDB Search correctamente, puede crear índices de búsqueda de MongoDB Search y Vector Search como mdb-user y ejecutar consultas de MongoDB Search y Vector Search usando los índices. Esta página describe cómo cargar datos de muestra, crear índices de Búsqueda de MongoDB y Búsqueda Vectorial para los datos y ejecutar consultas de Búsqueda de MongoDB y Búsqueda Vectorial sobre los datos.

Para utilizar MongoDB Search y la búsqueda vectorial, debes tener lo siguiente:

  • Exitosa implementación de MongoDB y MongoDBSearch.

    Para obtener más información, consulta:

    • Instala y usa Búsqueda con MongoDB Enterprise Edition

    • Instalar y usar MongoDB Search y búsqueda vectorial con una instancia externa de MongoDB Enterprise Edition

  • Usuario con permisos para crear MongoDB Search y búsqueda vectorial y ejecutar consultas de MongoDB Search y búsqueda vectorial.

    Para obtener más información, consulta Configura un usuario de Cloud Manager o Ops Manager para MongoDB Search y búsqueda vectorial.

  • Herramienta de línea de comandos de Kubernetes, kubectl, configurada para comunicarse con su clúster.

  • Bash v5.1 o superior para ejecutar los comandos en este tutorial.

1
  1. Para configurar las variables de entorno para su uso en los pasos posteriores de este procedimiento, copie lo siguiente, establezca los valores de las variables de entorno y luego cargue las variables de entorno:

    1# The env vars here are all commented out because this snippets module
    2# is reusable across different MongoDB deployments and all the necessary variables
    3# should be already defined there.
    4
    5# set it to the context name of the k8s cluster
    6#export K8S_CTX="<local cluster context>"
    7# the following namespace will be used to deploy mongodb tools pod
    8#export MDB_NS="mongodb"
    9
    10# regular user performing restore and search queries on sample mflix database
    11# the user should be able to restore database using mongorestore
    12#export MDB_USER_PASSWORD="mdb-user-password-CHANGE-ME"
    13
    14# name of MongoDB or MongoDBCommunity resource in case it's deployed in the same cluster
    15# user only for the connection string in MDB_CONNECTION_STRING env var below
    16#export MDB_RESOURCE_NAME="mdbc-rs"
    17
    18# TLS-related resources used by the snippets in this module
    19#export MDB_TLS_CA_SECRET_NAME="${MDB_RESOURCE_NAME}-ca"
    20#export MDB_TLS_CA_CONFIGMAP="${MDB_RESOURCE_NAME}-ca-configmap"
    21#export MDB_TLS_SERVER_CERT_SECRET_NAME="${MDB_RESOURCE_NAME}-tls"
    22#export MDB_SEARCH_TLS_SECRET_NAME="${MDB_RESOURCE_NAME}-search-tls"
    23
    24# default connection string if MongoDB database is deployed using the operator
    25#export MDB_CONNECTION_STRING="mongodb://mdb-user:${MDB_USER_PASSWORD}@${MDB_RESOURCE_NAME}-0.${MDB_RESOURCE_NAME}-svc.${MDB_NS}.svc.cluster.local:27017/?replicaSet=${MDB_RESOURCE_NAME}"
    26# To enable TLS for the shared snippets, append driver options directly to the connection string, for example:
    27#export MDB_CONNECTION_STRING="mongodb://mdb-user:${MDB_USER_PASSWORD}@${MDB_RESOURCE_NAME}-0.${MDB_RESOURCE_NAME}-svc.${MDB_NS}.svc.cluster.local:27017/?replicaSet=${MDB_RESOURCE_NAME}&tls=true&tlsCAFile=/tls/ca.crt"
  2. Para conectarse utilizando la cadena de conexión habilitada para TLS, como se muestra (en la línea 27) en el archivo env_variables.sh, descargue el certificado público de CA para el servicio MongoDBSearch de modo que el cliente mongosh pueda hacer referencia a él.

2

Implementar un pod llamado mongodb-tools-pod para ejecutar herramientas cliente de MongoDB como mongosh y mongorestore desde dentro del clúster de Kubernetes. Ejecutar un pod dentro del clúster simplifica la conectividad con MongoDB sin necesidad de exponer la base de datos externamente.

El siguiente comando implementa un pod llamado mongodb-tools-pod que ejecuta una imagen del servidor Community de MongoDB. El pod se mantiene en funcionamiento con un comando sleep infinity para permitirte usar kubectl exec para ejecutar herramientas del cliente MongoDB.

1kubectl apply -n "${MDB_NS}" --context "${K8S_CTX}" -f - <<EOF
2apiVersion: v1
3kind: Pod
4metadata:
5 name: mongodb-tools-pod
6 labels:
7 app: mongodb-tools
8spec:
9 containers:
10 - name: mongodb-tools
11 image: mongodb/mongodb-community-server:${MDB_VERSION%-ent}-ubi8
12 command: ["/bin/bash", "-c"]
13 args: ["sleep infinity"]
14 volumeMounts:
15 - name: mongo-ca
16 mountPath: /tls
17 readOnly: true
18 restartPolicy: Never
19 volumes:
20 - name: mongo-ca
21 configMap:
22 name: ${MDB_TLS_CA_CONFIGMAP:-"${MDB_RESOURCE_NAME}-ca-configmap"}
23 optional: true
24 items:
25 - key: ca.crt
26 path: ca.crt
27EOF
28
29echo "Waiting for the mongodb-tools to be ready..."
30kubectl --context "${K8S_CTX}" -n "${MDB_NS}" wait --for=condition=Ready pod/mongodb-tools-pod --timeout=60s
3

Importa la base de datos sample_mflix, que contiene las siguientes colecciones:

Nombre de colección
Descripción

comments

Contiene comentarios asociados con películas específicas.

embedded_movies

Contiene detalles sobre películas en los géneros Western, Action y Fantasy de la colección movies con los siguientes campos adicionales:

  • plot_embedding_voyage_3_large - Contiene embeddings de 2048d creados a partir del campo plot utilizando el modelo de embedding voyage-3-large de Voyage IA y convertidos a binData para un almacenamiento y recuperación eficientes.

  • plot_embedding - Contiene incrustaciones 1536d creadas a partir del campo plot utilizando el modelo de incrustación text-embedding-ada-002 de OpenAI y convertido a binData para un almacenamiento y recuperación eficiente.

movies

Contiene información sobre películas, incluidos el año de lanzamiento, el director y las revisiones.

sessions

theaters

Contiene las ubicaciones de los cines.

users

Contiene información de usuario.

El siguiente comando descarga el conjunto de datos de ejemplo y usa mongorestore para cargar los datos en la base de datos sample_mflix de tu implementación de MongoDB, conectándose como el mdb-user.

1# Restore sample_mflix database. Provide any TLS parameters directly within MDB_CONNECTION_STRING.
2kubectl exec -n "${MDB_NS}" --context "${K8S_CTX}" \
3 mongodb-tools-pod -- env MDB_CONNECTION_STRING="${MDB_CONNECTION_STRING}" /bin/bash -eu -c "$(cat <<'EOF'
4echo "Downloading sample database archive..."
5curl -fSL https://atlas-education.s3.amazonaws.com/sample_mflix.archive -o /tmp/sample_mflix.archive
6
7echo "Restoring sample database"
8mongorestore \
9 --archive=/tmp/sample_mflix.archive \
10 --verbose=1 \
11 --drop \
12 --nsInclude 'sample_mflix.*' \
13 --uri="${MDB_CONNECTION_STRING}"
14EOF
15)"
4

Puedes crear un índice de MongoDB Search o un índice de búsqueda vectorial. Debes crear un índice de MongoDB Search para ejecutar consultas $search y $searchMeta y un índice de búsqueda vectorial para ejecutar consultas $vectorSearch.

  • MongoDB Search proporciona definiciones de índices flexibles que admiten mapeos de campos dinámicos y estáticos, diversos analizadores (estándar, específicos de lenguaje, personalizados) y funcionalidades como sinónimos y búsqueda facetada. Para obtener más información, consulta Define tu índice.

  • La Búsqueda Vectorial proporciona una definición de índice sencilla que admite la consulta de incrustaciones vectoriales o textos (si habilitaste mongot para la incrustación automatizada) en tus datos según la similitud semántica mediante el uso de Algoritmo de búsqueda ANN y ENN. Para obtener más información, consulta Definir índice de búsqueda vectorial.

  1. Copia, pega y ejecuta el siguiente comando en tu terminal para crear un índice de MongoDB Search o un índice de búsqueda vectorial.

    El comando utiliza kubectl exec para ejecutar mongosh en el mongodb-tools-pod. Se conecta al método sample_mflix db.<collection>.createSearchIndex() para crear un índice.

    El siguiente comando crea un índice de búsqueda de MongoDB denominado default con configuraciones dinámicas en la colección movies. El mapeo dinámico indexa automáticamente todos los tipos de campos indexables dinámicamente.

    1kubectl exec --context "${K8S_CTX}" -n "${MDB_NS}" mongodb-tools-pod -- \
    2 mongosh --quiet "${MDB_CONNECTION_STRING}" \
    3 --eval "use sample_mflix" \
    4 --eval 'db.movies.createSearchIndex("default", { mappings: { dynamic: true } });'

    El siguiente comando crea un índice de búsqueda vectorial llamado vector_index en el campo plot_embedding_voyage_3_large con 2048 dimensiones en la colección embedded_movies para ejecutar queries ANN.

    1kubectl exec --context "${K8S_CTX}" -n "${MDB_NS}" mongodb-tools-pod -- \
    2 mongosh --quiet "${MDB_CONNECTION_STRING}" \
    3 --eval "use sample_mflix" \
    4 --eval 'db.embedded_movies.createSearchIndex("vector_index", "vectorSearch",
    5 { "fields": [ {
    6 "type": "vector",
    7 "path": "plot_embedding_voyage_3_large",
    8 "numDimensions": 2048,
    9 "similarity":
    10 "dotProduct",
    11 "quantization": "scalar"
    12 } ] });'

    Solo puedes crear el siguiente índice si configuraste mongot para la Generación Automática de Inserciones. Inserción Automática está disponible como una funcionalidad de Vista Previa para la MongoDB Community Edition.

    El siguiente comando crea un índice de búsqueda vectorial llamado vector_auto_embed_index en el campo plot de la colección movies. La definición del índice utiliza el modelo de embedding configurado en la variable de entorno para generar embeddings para los datos en el campo plot.

    1kubectl exec --context "${K8S_CTX}" -n "${MDB_NS}" mongodb-tools-pod -- \
    2 mongosh --quiet "${MDB_CONNECTION_STRING}" \
    3 --eval "use sample_mflix" \
    4 --eval 'db.movies.createSearchIndex("vector_auto_embed_index", "vectorSearch",
    5 { "fields": [ {
    6 "type": "autoEmbed",
    7 "modality": "text",
    8 "path": "plot",
    9 "model": "'"${EMBEDDING_MODEL}"'"
    10 } ] });'
  2. Espere a que se complete la creación del índice.

    La creación de índices es un proceso asíncrono. Ejecuta el siguiente script para esperar 60 segundos hasta que se complete la creación del índice.

    1# Currently it's not possible to check the status of search indexes, we need to just wait
    2echo "Sleeping to wait for search indexes to be created"
    3sleep 60

    Como alternativa, ejecuta el siguiente comando para recuperar la lista de índices de la colección.

    1kubectl exec --context "${K8S_CTX}" -n "${MDB_NS}" mongodb-tools-pod -- \
    2 mongosh --quiet "${MDB_CONNECTION_STRING}" \
    3 --eval "use sample_mflix" \
    4 --eval 'db.runCommand({"listSearchIndexes": "movies"});'
    1kubectl exec --context "${K8S_CTX}" -n "${MDB_NS}" mongodb-tools-pod -- \
    2 mongosh --quiet "${MDB_CONNECTION_STRING}" \
    3 --eval "use sample_mflix" \
    4 --eval 'db.runCommand({"listSearchIndexes": "embedded_movies"});'
    1kubectl exec --context "${K8S_CTX}" -n "${MDB_NS}" mongodb-tools-pod -- \
    2 mongosh --quiet "${MDB_CONNECTION_STRING}" \
    3 --eval "use sample_mflix" \
    4 --eval 'db.runCommand({"listSearchIndexes": "movies"});'
    1{
    2 cursor: {
    3 id: 0,
    4 ns: 'sample_mflix.movies',
    5 firstBatch: [
    6 {
    7 id: '6966a5955a5d282a86f5a725',
    8 name: 'default',
    9 type: 'search',
    10 latestDefinition: {
    11 indexID: ObjectId('6966a5955a5d282a86f5a725'),
    12 name: 'default',
    13 database: 'sample_mflix',
    14 lastObservedCollectionName: 'movies',
    15 collectionUUID: UUID('542f256c-f4b0-4cd5-a074-61692eaa5d2f'),
    16 numPartitions: 1,
    17 mappings: { dynamic: true, fields: {} },
    18 indexFeatureVersion: 4,
    19 definitionVersion: Long('0'),
    20 definitionVersionCreatedAt: '2026-01-13T20:05:41Z'
    21 }
    22 },
    23 {
    24 id: '6966a5965a5d282a86f5a727',
    25 name: 'vector_auto_embed_index',
    26 type: 'vectorSearch',
    27 latestDefinition: {
    28 type: 'vectorSearch',
    29 indexID: ObjectId('6966a5965a5d282a86f5a727'),
    30 name: 'vector_auto_embed_index',
    31 database: 'sample_mflix',
    32 lastObservedCollectionName: 'movies',
    33 collectionUUID: UUID('542f256c-f4b0-4cd5-a074-61692eaa5d2f'),
    34 numPartitions: 1,
    35 fields: [
    36 {
    37 type: 'autoEmbed',
    38 path: 'plot',
    39 model: 'voyage-3.5-lite',
    40 modality: 'text'
    41 }
    42 ],
    43 definitionVersion: Long('0'),
    44 definitionVersionCreatedAt: '2026-01-13T20:05:42Z',
    45 indexFeatureVersion: 4
    46 }
    47 }
    48 ]
    49 },
    50 ok: 1,
    51 '$clusterTime': {
    52 clusterTime: Timestamp({ t: 1768334804, i: 1 }),
    53 signature: {
    54 hash: Binary.createFromBase64('NNA7Y85MeilAntWWiQJ+qsmEzhQ=', 0),
    55 keyId: Long('7594938476521324549')
    56 }
    57 },
    58 operationTime: Timestamp({ t: 1768334804, i: 1 })
    59}
5

Después de que la creación del índice sea exitosa, puede ejecutar búsquedas de MongoDB (MongoDB Search) o búsquedas vectoriales (Vector Search) utilizando el índice. También puedes combinar MongoDB Search con búsqueda vectorial. Para obtener más información sobre cómo ejecutar consultas de MongoDB Search, consulta Define tu consulta. Para obtener más información sobre las consultas de Vector Search, consulta Ejecuta consultas de Vector Search.

El siguiente script define los criterios de query de la pipeline de agregación y utiliza el comando kubectl exec para cargar mongosh y ejecutar la query.

La siguiente query busca en el campo plot argumentos de películas que contengan el término baseball. Excluye películas en los géneros comedy y romance.

1mdb_script=$(cat <<'EOF'
2use sample_mflix;
3db.movies.aggregate([
4 {
5 $search: {
6 "compound": {
7 "must": [ {
8 "text": {
9 "query": "baseball",
10 "path": "plot"
11 }
12 }],
13 "mustNot": [ {
14 "text": {
15 "query": ["Comedy", "Romance"],
16 "path": "genres"
17 }
18 } ]
19 },
20 "sort": {
21 "released": -1
22 }
23 }
24 },
25 {
26 $limit: 3
27 },
28 {
29 $project: {
30 "_id": 0,
31 "title": 1,
32 "plot": 1,
33 "genres": 1,
34 "released": 1
35 }
36 }
37]);
38EOF
39)
40
41kubectl exec --context "${K8S_CTX}" -n "${MDB_NS}" \
42 mongodb-tools-pod -- /bin/bash -eu -c "$(cat <<EOF
43echo '${mdb_script}' > /tmp/mdb_script.js
44mongosh --quiet "${MDB_CONNECTION_STRING}" < /tmp/mdb_script.js
45EOF
46)"
1mdbc-rs [primary] test> switched to db sample_mflix
2mdbc-rs [primary] sample_mflix> ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... [
3 {
4 plot: 'A sports agent stages an unconventional recruitment strategy to get talented Indian cricket players to play Major League Baseball.',
5 genres: [ 'Biography', 'Drama', 'Sport' ],
6 title: 'Million Dollar Arm',
7 released: ISODate('2014-05-16T00:00:00.000Z')
8 },
9 {
10 plot: 'A Taiwanese high school baseball team travels to Japan in 1931 to compete in a national tournament.',
11 genres: [ 'Biography', 'Drama', 'History' ],
12 title: 'Kano',
13 released: ISODate('2014-02-27T00:00:00.000Z')
14 },
15 {
16 plot: "12-year-old Josh is a mixed race boy and a promising baseball player. He is abused by his mother's boyfriend Byrd, and neglected by his mother Debbie. He forges his own path in life when ...",
17 genres: [ 'Drama' ],
18 title: 'Calloused Hands',
19 released: ISODate('2013-03-03T00:00:00.000Z')
20 }
21]
22mdbc-rs [primary] sample_mflix>

La siguiente query busca el campo plot_embedding_voyage_3_large utilizando incrustaciones vectoriales dimensionales 2048 para la string time travel, generada con el modelo voyage-3-large de Voyage IA.

1mdb_script=$(cat <<'EOF'
2use sample_mflix;
3db.embedded_movies.aggregate([
4 {
5 "$vectorSearch": {
6 "index": "vector_index",
7 "path": "plot_embedding_voyage_3_large",
8 "queryVector": [-0.034731735,0.008558298,-0.0153717,-0.029912498,0.011549547,0.010261648,-0.011964999,-0.023265276,0.010303194,-0.006896493,-0.00054528,0.003926015,-0.025757983,0.027419789,0.001199616,-0.036227357,-0.005297005,0.021935832,0.010303194,-0.019193852,0.025093261,-0.040049512,-0.033900831,-0.011466458,-0.01827986,-0.0153717,0.023265276,0.007727395,0.000114249,0.005317777,-0.043871664,-0.02127111,-0.019609304,0.016368784,-0.004756918,0.003552109,0.006522586,-0.005400868,-0.015620971,-0.034565553,-0.018695312,-0.023099095,0.050851244,-0.034731735,0.004819236,0.022268193,-0.095719993,0.05517194,-0.046198189,-0.036393538,0.007187308,-0.02459472,-0.036725901,0.009472291,0.019027673,0.020938748,-0.011051006,0.027087428,0.04586583,-0.022600554,-0.05517194,0.044204023,0.01213118,0.047859997,-0.03938479,0.002928932,0.002056484,0.019443123,-0.028583053,0.013543714,0.022932915,0.011632638,0.004923099,0.000389486,0.020024756,-0.024096178,-0.022766734,0.011217186,-0.003198975,0.007104218,-0.047195274,-0.013377533,0.013294443,0.024096178,-0.056501385,-0.026755067,-0.008433662,-0.001911076,0.007976666,-0.008101301,-0.014042255,0.008641388,-0.02176965,0.010012378,-0.000607598,-0.024927082,0.024927082,-0.018612221,-0.001184036,0.005567048,0.001324251,-0.019526213,-0.023597637,0.060489718,-0.010178559,-0.019609304,0.004112968,-0.011217186,-0.031574301,-0.008766023,0.005483958,-0.061819162,-0.023431456,-0.040714234,0.015039339,0.026422706,0.016202603,0.004653055,0.041046593,-0.018030589,0.040381871,-0.002638116,0.013045172,0.004216831,0.005650138,0.027419789,0.003926015,-0.028749233,0.004798463,-0.030244859,0.063813329,0.007145763,-0.017448956,0.025591804,-0.045201108,0.010718645,0.002804297,0.014291527,0.04586583,-0.015205519,-0.021603471,-0.035230275,0.00760276,0.033236109,0.016534964,-0.043206941,-0.003115885,-0.026256526,0.005940954,0.016534964,0.024262359,-0.001630647,0.028084511,-0.012795902,0.007270399,0.001381376,-0.009763107,-0.006896493,0.008433662,-0.019360034,0.000386889,0.030411039,0.025591804,0.010469374,0.037722982,-0.001147684,-0.005400868,0.052845411,-0.052513052,0.00768585,-0.004299921,0.00922302,0.011881908,0.012962082,-0.068798743,0.003593654,0.020938748,-0.013792985,-0.034565553,-0.007519669,-0.04021569,-0.020689478,0.006273315,0.046862911,0.006107135,0.002638116,-0.013792985,-0.005400868,-0.020274026,0.007644305,-0.010801735,0.026422706,0.043871664,0.003780607,0.010261648,-0.064145692,0.011881908,-0.009056839,0.009347656,-0.02459472,0.026422706,0.033236109,0.041212775,0.019027673,-0.00315743,0.004424557,0.020689478,-0.0153717,-0.015205519,-0.034897912,0.020274026,0.016867325,0.040714234,-0.022766734,-0.010967916,0.026256526,0.007062673,-0.015953332,-0.007727395,0.031574301,-0.002887387,-0.00614868,0.004569965,0.019027673,0.012878992,0.011798819,0.004258377,-0.019193852,-0.021437289,-0.021603471,0.000301202,-0.051183607,-0.004985416,-0.030078677,0.012629721,0.065142773,-0.031740483,-0.021104928,-0.03938479,-0.003365156,-0.016036423,0.036393538,0.009804652,-0.018612221,0.060489718,-0.003697517,0.000547876,0.063480966,0.02758597,0.010053922,-0.003655972,-0.001485239,0.018362951,0.021104928,-0.003905243,0.019443123,-0.002658889,-0.00380138,-0.013626805,0.035894997,0.035396457,-0.005691683,0.002762751,0.012878992,-0.009596926,-0.009970833,-0.015953332,0.022434372,0.00614868,-0.021188019,0.001557943,-0.020190936,0.009763107,0.017448956,0.006730312,0.005567048,0.019692395,-0.00218112,-0.016867325,0.006854947,0.007976666,0.019193852,0.040880412,0.007353489,-0.02127111,-0.031906664,-0.026755067,-0.017947499,0.040381871,0.042209856,0.00913993,-0.0307434,-0.017781317,-0.015039339,0.03057722,0.017532047,0.0187784,-0.060822077,0.002928932,-0.026422706,-0.005899409,0.039717149,0.026588887,-0.000971118,0.004923099,-0.013626805,0.0187784,-0.031408124,-0.000695881,0.050851244,-0.014457707,-0.007311944,-0.001293092,-0.002139574,-0.019276943,0.00290816,0.019360034,-0.017781317,0.002160347,0.016618054,-0.006522586,0.011798819,0.029247776,-0.02775215,0.010344739,-0.018362951,-0.036725901,-0.015870241,0.015704062,-0.012463541,0.02459472,-0.024096178,0.001152877,-0.031408124,0.025425622,0.027087428,0.00922302,0.034565553,0.015704062,-0.020689478,-0.00517237,-0.014706978,-0.001589101,0.026090344,0.014956249,0.011715728,0.004299921,-0.00913993,0.022434372,-0.03705826,0.048524719,-0.030411039,0.008433662,0.017033506,-0.000511525,-0.031408124,0.005940954,-0.012962082,-0.031574301,0.017448956,0.010178559,-0.011383367,-0.020107845,-0.005151597,0.006647222,0.013128263,0.007145763,0.008059756,-0.045201108,-0.004943871,0.015787151,-0.045201108,-0.020772567,-0.020274026,0.028250692,-0.024262359,-0.004424557,0.009804652,0.000472576,-0.005691683,0.001443693,-0.013294443,0.001412535,0.013211353,-0.01213118,-0.002118802,0.017781317,-0.007353489,-0.031075761,-0.004923099,0.011383367,-0.004486875,-0.010178559,0.016618054,0.014457707,0.023763817,-0.02459472,-0.00388447,0.012546631,-0.007519669,0.015704062,-0.014291527,0.009680017,-0.035562634,0.023763817,0.053510133,-0.0555043,-0.003572882,0.022102011,0.021603471,-0.017282777,-0.001474852,-0.043539301,0.007810486,-0.025757983,-0.005400868,0.029912498,-0.00760276,0.014125346,0.030909581,-0.03340229,-0.009680017,0.018030589,0.008849114,0.03057722,0.019775484,0.014125346,0.031906664,-0.03057722,-0.027087428,-0.023597637,-0.022434372,-0.012878992,0.016285693,-0.021603471,-0.029746316,0.029746316,0.020357117,0.006314861,-0.001158071,0.028749233,-0.045201108,0.011383367,0.011134096,-0.021437289,-0.035728816,0.001827986,0.008267482,-0.057498466,0.01213118,-0.01213118,-0.040548053,0.010718645,0.004798463,-0.004881553,-0.019526213,-0.008558298,0.0059825,-0.000262254,-0.017615138,0.005193142,0.019692395,-0.00198378,-0.002845842,0.012546631,0.006107135,-0.008225936,-0.008890659,0.015870241,0.00517237,0.002596571,-0.010427829,-0.019110762,0.024262359,0.012048089,-0.032405205,0.006522586,0.013211353,0.013211353,-0.038221523,-0.007727395,-0.008267482,-0.019276943,0.001474852,0.031408124,-0.035562634,0.017532047,-0.023431456,-0.015454791,-0.011383367,0.016534964,-0.02176965,0.008682934,0.027253609,0.020190936,-0.0247609,-0.007311944,0.009555381,-0.01852913,-0.011632638,0.011549547,0.027419789,-0.034067012,-0.01229736,0.0307434,0.003946788,0.0046946,0.037722982,0.03057722,-0.010427829,0.002284982,0.033236109,0.030078677,-0.013377533,0.007395034,-0.012048089,0.040714234,-0.028749233,-0.000102565,-0.0059825,-0.041046593,0.017698228,-0.006356406,0.003178203,0.009056839,0.023099095,0.00606559,0.011881908,-0.02127111,-0.001126912,-0.027087428,0.011134096,0.001204809,-0.017033506,0.011051006,-0.014374617,0.017864408,0.023431456,-0.002077257,-0.026755067,-0.043871664,0.025757983,-0.006190225,0.001152877,0.011798819,-0.024262359,0.006564131,-0.070128188,-0.004362239,0.012962082,-0.013626805,-0.001402148,-0.012214269,0.011217186,-0.015953332,0.015787151,0.011134096,0.027253609,0.024262359,-0.048192356,0.009970833,0.018944582,-0.00517237,0.021935832,0.02775215,0.003406701,-0.010884825,0.075113602,-0.015953332,0.007727395,0.026755067,-0.006190225,-0.012712811,0.013377533,0.005940954,-0.008309027,0.02459472,0.002316141,-0.022434372,-0.012712811,0.03057722,-0.015787151,0.026755067,-0.001069787,0.03988333,-0.003697517,0.039550968,-0.019027673,-0.0059825,-0.00031029,-0.012546631,-0.003614427,0.007478124,0.005525503,0.032571387,-0.011798819,-0.011466458,-0.00606559,-0.011798819,0.018446039,0.007976666,0.018944582,-0.02176965,0.026588887,-0.006273315,-0.012463541,-0.007395034,0.012048089,-0.029247776,0.015454791,-0.007145763,0.006481041,-0.015620971,-0.00388447,-0.025757983,-0.001651419,-0.032903746,-0.005068507,0.03938479,0.003926015,0.004715373,0.022600554,-0.012546631,0.022932915,0.007810486,0.040714234,0.019941665,0.013543714,0.003406701,0.010884825,-0.03988333,0.042209856,-0.022766734,0.027419789,-0.029580137,0.043206941,0.022932915,0.021104928,-0.056833744,0.005193142,0.036061179,-0.012878992,0.008516753,-0.02758597,-0.030244859,-0.011798819,0.001111332,-0.014125346,-0.014125346,0.019027673,0.029081594,0.018861491,0.013626805,0.06846638,0.023099095,0.041378956,0.001599488,-0.028749233,0.017781317,0.016285693,0.021603471,-0.018113678,0.011300277,-0.032239024,0.022434372,-0.02459472,-0.013626805,0.005483958,0.013460624,-0.031574301,-0.015620971,0.016451873,0.014790068,-0.008849114,0.011134096,0.00461151,0.015122429,0.036227357,0.00206687,0.000877641,0.022102011,-0.028250692,0.022600554,-0.026422706,0.004029878,-0.032072846,0.017116595,0.010884825,0.019609304,0.00614868,0.005733229,0.016119512,0.002866614,-0.014540797,0.012463541,-0.003905243,0.003759835,-0.000485559,-0.022766734,-0.016285693,0.037722982,0.009513836,0.001506011,0.011964999,0.004029878,0.019941665,-0.000965924,0.002129188,0.015205519,0.071125269,0.022932915,0.005940954,-0.00044661,0.010220103,-0.03423319,-0.016285693,-0.016867325,-0.000659529,-0.008018211,-0.011383367,0.000016634,0.004071423,-0.029413955,0.019941665,-0.00913993,-0.024096178,0.010635555,0.010594009,0.001547556,0.036227357,-0.030078677,0.020772567,0.022268193,-0.014125346,0.008766023,-0.012962082,-0.007187308,0.017033506,-0.007187308,-0.015205519,-0.005608593,0.044536386,-0.001235968,0.007852031,0.001599488,0.005857864,-0.005940954,-0.010510919,-0.005567048,0.006730312,0.016285693,-0.010801735,-0.024428539,0.015122429,-0.02176965,0.01528861,-0.007436579,0.00226421,-0.004715373,0.004507647,0.004341467,0.005525503,-0.031075761,-0.005899409,0.037556801,0.014873158,-0.000342747,0.009970833,-0.019443123,0.023597637,-0.012048089,-0.025259443,0.006024044,-0.01827986,0.010012378,0.016784234,0.013211353,-0.005400868,-0.024428539,-0.02176965,-0.035230275,0.009347656,0.028583053,-0.015704062,-0.017781317,0.00226421,0.001199616,-0.003385928,0.008267482,0.002326528,0.022434372,-0.020190936,-0.015787151,0.000789358,0.031241942,0.011300277,0.001506011,-0.023265276,-0.010967916,0.009056839,0.011300277,-0.030244859,0.007478124,0.001111332,-0.035894997,0.0153717,0.002700434,0.021104928,0.010884825,-0.003344383,0.00768585,0.010386284,0.00452842,-0.014706978,0.028084511,0.013377533,0.014873158,0.046862911,-0.015454791,0.021188019,0.013959166,0.012629721,0.025924165,-0.018695312,-0.00922302,-0.0093892,0.007727395,0.036892079,0.007228854,-0.01229736,0.029247776,-0.004943871,-0.027253609,-0.008433662,0.043206941,0.002825069,0.028583053,-0.023431456,0.034897912,-0.041545134,-0.016534964,0.003053567,-0.012712811,0.002741979,-0.007187308,-0.025093261,-0.045201108,-0.004424557,-0.016618054,-0.008890659,0.008018211,-0.05184833,-0.019526213,-0.013377533,-0.010469374,0.030244859,-0.005068507,0.051183607,0.005483958,-0.006024044,0.035064094,-0.011134096,0.014956249,0.002284982,0.001724123,-0.01229736,0.012629721,0.010261648,0.014540797,0.048857078,-0.029580137,-0.024927082,-0.008350573,-0.03988333,0.000939959,0.013543714,0.013626805,-0.021437289,-0.012962082,0.006771857,0.013709894,-0.0059825,0.035396457,-0.006439496,-0.029580137,0.0046946,0.019609304,-0.007270399,0.014291527,-0.015620971,0.00118923,-0.00760276,-0.017199686,0.023265276,0.026588887,-0.030078677,-0.016701145,-0.025757983,0.004964644,0.026588887,0.043206941,0.011051006,-0.009846197,0.028915415,0.031574301,0.023763817,0.009264565,-0.008433662,-0.035064094,-0.000579035,-0.0247609,0.014125346,0.016618054,0.028749233,-0.052513052,-0.016867325,-0.01238045,0.002741979,0.013709894,0.010718645,0.013626805,0.009596926,-0.004403784,-0.02758597,-0.000945152,0.000420645,0.003759835,0.012546631,-0.011881908,0.008392117,0.012795902,0.005483958,-0.009763107,0.006397951,-0.010801735,0.012795902,-0.03938479,0.005733229,0.005733229,-0.000433627,0.015454791,0.002357686,-0.006564131,0.030244859,-0.024428539,0.016036423,0.014291527,-0.004964644,0.029413955,0.040381871,0.012629721,-0.033568468,-0.026422706,-0.037889164,-0.034399372,-0.03423319,0.021935832,0.004133741,-0.014623888,-0.013543714,-0.05517194,0.004736145,0.006314861,0.00006037,0.006356406,0.003323611,-0.010344739,0.007062673,0.005899409,-0.00623177,-0.001973394,-0.0555043,0.011881908,0.001350217,-0.033069927,-0.026921248,0.022268193,0.028583053,-0.021021837,0.010884825,0.019692395,-0.005442413,0.031574301,-0.014956249,0.01238045,-0.006356406,0.006273315,-0.003095113,-0.014540797,-0.02176965,0.005006189,-0.002658889,0.042542219,-0.02176965,0.017199686,-0.016701145,-0.001599488,0.016950415,-0.021188019,0.017864408,0.023763817,-0.000669915,0.025093261,0.021104928,0.008807569,0.037390623,-0.025591804,-0.003178203,-0.001319058,0.020523297,0.005255459,0.019276943,-0.00226421,0.00760276,-0.057166107,-0.006896493,-0.034067012,0.043871664,0.038221523,0.008101301,0.03988333,0.015870241,0.000955538,-0.004299921,-0.002928932,-0.002118802,-0.020523297,-0.001168457,-0.011134096,-0.000685495,0.003323611,0.011549547,0.034565553,0.029247776,-0.029746316,0.005213914,0.019110762,-0.003302838,0.026422706,0.028915415,-0.036227357,0.033236109,0.038387705,-0.035230275,0.004071423,-0.021935832,0.002928932,0.000976311,0.000527104,-0.006854947,-0.003822153,-0.001199616,0.019858574,-0.002762751,0.039052427,-0.008641388,0.032239024,-0.002295369,0.035396457,0.044536386,-0.029413955,0.025093261,-0.03423319,-0.016867325,-0.008849114,0.008433662,-0.004486875,0.017033506,0.006730312,-0.008599843,-0.008225936,-0.024428539,0.006564131,-0.007561215,-0.032072846,-0.019941665,0.035396457,0.019276943,0.010261648,0.005857864,0.032239024,-0.044204023,-0.018944582,0.002409618,0.032903746,0.05517194,-0.03655972,0.007976666,0.030909581,-0.023929998,0.016368784,0.01528861,-0.00768585,0.02176965,0.013626805,-0.02459472,0.04021569,-0.032737568,0.006854947,-0.011383367,0.014873158,-0.02176965,0.00243039,0.0093892,0.0093892,-0.029580137,0.019858574,0.01827986,0.024428539,0.017864408,-0.028250692,-0.001111332,0.056169022,0.007478124,-0.010718645,0.041046593,-0.015704062,0.034731735,0.002523867,-0.032571387,0.004341467,-0.023597637,-0.011881908,-0.035562634,0.006688767,0.007810486,-0.012712811,0.022600554,0.03057722,0.022600554,0.010552464,0.0307434,-0.009638472,0.02176965,-0.018030589,0.024262359,-0.036227357,-0.020772567,0.001641033,-0.022932915,-0.014623888,0.018362951,0.002575798,0.006190225,-0.011051006,0.021021837,0.019110762,0.02127111,-0.028583053,-0.052180689,-0.014291527,-0.010552464,0.036393538,0.042542219,-0.04586583,-0.001869531,0.008350573,-0.008516753,-0.020772567,0.000294711,0.015704062,-0.014457707,-0.020772567,0.008766023,-0.026588887,-0.004736145,-0.028084511,-0.007519669,0.010552464,-0.016534964,0.006190225,0.012962082,-0.016618054,0.012546631,0.02459472,0.022932915,0.020440206,-0.027918331,-0.008059756,0.020689478,-0.014623888,-0.011466458,-0.006896493,-0.020024756,-0.031408124,0.021603471,0.007270399,-0.03057722,0.008350573,-0.021437289,0.00072704,-0.043871664,0.006314861,-0.017199686,0.02176965,0.024262359,-0.020357117,-0.000542683,-0.005213914,0.001963008,-0.00064395,-0.022434372,0.022102011,-0.006688767,-0.028583053,0.002191506,-0.005047734,0.002368073,0.014956249,0.023929998,-0.003302838,-0.032239024,0.022268193,-0.013377533,-0.010801735,0.003676744,0.009015295,-0.039550968,0.010884825,-0.033568468,0.013709894,-0.029413955,-0.006356406,-0.020274026,0.023597637,0.030909581,0.02176965,0.016285693,0.045533467,-0.024096178,-0.030909581,-0.026422706,0.002783524,-0.010594009,0.004362239,-0.070792913,0.009472291,-0.022102011,0.011134096,-0.017448956,-0.011549547,-0.056833744,0.00082571,0.026588887,-0.013709894,0.002575798,0.02176965,-0.000568649,-0.007270399,0.004279149,-0.042874578,-0.026588887,0.016784234,0.036725901,-0.028915415,-0.009513836,0.017448956,0.002035712,-0.007228854,0.011383367,0.011134096,0.028915415,0.0153717,-0.027087428,0.043871664,-0.005089279,0.006314861,0.014291527,-0.003240521,0.025924165,-0.001230775,-0.015454791,-0.012629721,0.031740483,-0.039717149,-0.031075761,0.006605676,-0.008641388,-0.032239024,0.037722982,-0.03705826,-0.024096178,0.001911076,0.018196769,-0.007353489,-0.011300277,-0.029081594,0.004590738,-0.018030589,-0.026588887,0.010261648,0.038221523,0.008392117,-0.01213118,0.018362951,-0.034731735,-0.017781317,-0.011632638,0.005255459,0.000851675,0.014208436,-0.000039922,-0.000228498,0.014790068,0.00913993,0.0004544,-0.011798819,-0.020440206,0.005899409,0.008350573,0.006314861,0.040548053,0.003427474,-0.010801735,0.008599843,0.002586185,-0.041212775,-0.016368784,0.020024756,0.000965924,-0.021021837,-0.008475208,0.0307434,0.00760276,0.003614427,0.003489791,-0.025924165,0.000799744,0.013460624,-0.020440206,0.048857078,0.004320694,-0.048857078,0.015039339,-0.029580137,0.025924165,0.018861491,-0.014706978,0.000576439,-0.031241942,0.0307434,0.0153717,0.014706978,0.028084511,-0.01238045,-0.031241942,0.018196769,-0.034897912,0.008142847,0.010718645,0.00922302,0.047859997,-0.00072704,-0.010427829,0.007104218,0.026256526,0.012214269,-0.013377533,-0.05184833,0.005276232,0.021935832,-0.007021128,0.009804652,0.007893575,0.024096178,-0.002357686,0.033900831,-0.031740483,0.034565553,-0.036892079,-0.015454791,0.030411039,0.010552464,-0.022268193,-0.001391762,-0.008184392,-0.008558298,0.008475208,-0.009929287,0.010427829,0.041378956,-0.009555381,-0.008724478,-0.039052427,0.034731735,-0.014291527,0.023099095,0.029081594,0.007519669,0.010967916,-0.008142847,0.006190225,-0.031075761,0.033734649,-0.001672192,0.047859997,-0.022434372,-0.007395034,0.01213118,0.056169022,0.002762751,-0.029413955,-0.000763392,-0.015787151,0.010801735,0.008142847,0.029912498,-0.0018176,0.033236109,-0.046198189,-0.002492708,-0.006730312,0.008807569,-0.03655972,0.009430746,-0.053842496,-0.060489718,0.046862911,0.002783524,-0.0187784,0.000571246,0.00760276,0.002482322,0.001319058,-0.014291527,0.001464466,-0.011632638,-0.012463541,-0.004902326,0.000841289,0.006688767,0.030244859,0.018944582,0.000532297,-0.015620971,0.007104218,0.005608593,0.002035712,-0.023763817,0.003032795,0.010594009,-0.023597637,-0.042376038,-0.005255459,0.001199616,-0.0247609,-0.007893575,-0.011632638,0.013045172,-0.005691683,-0.007104218,0.027419789,-0.004320694,-0.005525503,-0.026090344,0.031408124,-0.012795902,-0.007062673,0.000939959,0.000030185,0.004175286,0.014291527,0.033236109,-0.038720068,0.074116521,-0.019692395,0.001589101,0.013792985,-0.056169022,-0.028749233,-0.001599488,0.004175286,0.014790068,0.00162026,-0.007519669,-0.041378956,0.016534964,-0.003572882,-0.002575798,-0.019526213,-0.00922302,-0.033900831,-0.042043675,-0.014208436,0.010178559,0.017698228,0.032239024,0.00913993,0.009264565,-0.012463541,-0.005857864,-0.015870241,0.004486875,0.018861491,-0.000176567,-0.029912498,0.016784234,0.012546631,0.051183607,0.023597637,0.032903746,0.0153717,-0.013377533,-0.000016634,-0.061486799,-0.034565553,0.016119512,0.00380138,-0.003863698,0.004362239,-0.017532047,-0.002762751,0.000102565,-0.021437289,0.029247776,-0.010718645,-0.015870241,-0.016285693,0.010220103,-0.000373906,0.012962082,0.010137013,-0.007228854,0.02127111,-0.029247776,0.018113678,0.009181475,0.002233051,0.014374617,-0.00396756,0.010801735,0.007644305,0.020855658,0.014790068,0.032737568,-0.037390623,0.003032795,0.010801735,-0.01553788,-0.014790068,0.019526213,-0.017947499,-0.007893575,-0.011964999,-0.00614868,-0.005857864,-0.032072846,-0.025924165,0.001163264,-0.013294443,-0.01553788,0.016701145,-0.013460624,-0.001111332,0.00760276,0.01553788,-0.033734649,0.048192356,-0.003282066,0.031906664,0.002845842,0.003240521,0.017116595,-0.01827986,0.006896493,-0.00760276,-0.009680017,-0.02459472,-0.020689478,-0.053510133,0.00614868,-0.010552464,-0.032405205,-0.0307434,0.025093261,0.003635199,-0.008101301,-0.00606559,-0.007436579,0.00606559,-0.012962082,0.026921248,0.009098385,0.046530552,-0.011632638,0.032571387,-0.033900831,0.009846197,0.002866614,0.032903746,0.008973749,0.012712811,0.040049512,0.013626805,-0.026256526,-0.031408124,0.036227357,0.011964999,-0.006024044,-0.001848759,0.015704062,-0.021188019,-0.035064094,-0.013377533,-0.009721561,-0.01553788,0.008766023,0.005400868,0.004507647,-0.018362951,-0.026588887,-0.00913993,-0.025591804,0.035894997,0.021935832,-0.031906664,-0.000602404,0.026422706,-0.006397951,0.006647222,0.0093892,0.020606387,0.00913993,0.015620971,-0.024096178,0.00063616,-0.006564131,0.01238045,-0.013709894,0.000563456,-0.009887742,0.016618054,-0.003323611,0.000451803,0.001609874,0.008682934,0.025259443,0.020024756,-0.027253609,0.010884825,0.028250692,-0.054839578,0.033568468,-0.004902326,0.003053567,0.020274026,-0.015704062,-0.00614868,-0.063813329,0.002482322,0.009763107,-0.001609874,-0.012214269,0.020107845,0.001921462,0.018695312,-0.004923099,0.007270399,-0.023763817,0.005234687,0.003406701,0.002565412,0.007104218,0.000841289,0.016202603,0.01827986,-0.031075761,-0.035562634,-0.025259443,-0.007021128,0.000641353,-0.033069927,0.010718645,0.005650138,0.024927082,-0.002658889,0.00380138,0.009929287,-0.004258377,-0.039717149,-0.022434372,0.025425622,0.00198378,0.006356406,0.017615138,-0.032072846,0.046862911,-0.026921248,0.005940954,0.021603471,-0.002253824,0.002825069,-0.030411039,-0.003115885,0.023597637,-0.004320694,-0.007852031,0.018030589,-0.008724478,-0.005733229,0.032903746,0.013876075,0.015454791,-0.023597637,0.005151597,-0.035396457,0.02176965,-0.012463541,0.025591804,0.014540797,-0.027918331,0.004154514,0.008724478,0.016036423,-0.015870241,0.005400868,-0.017365867,-0.044868745,-0.000485559,0.020357117,-0.00760276,-0.023265276,-0.012048089,0.008433662,0.018362951,-0.006979583,0.0307434,0.008392117,0.027087428,-0.019360034,0.016119512,0.02127111,0.010801735,0.00299125,0.002949705,0.012463541,-0.000025966,0.015953332,0.029413955,0.020024756,0.003780607,0.022102011,-0.031740483,0.01553788,0.010386284,0.028749233,-0.010884825,0.008682934,-0.003531337,-0.05517194,-0.019360034,-0.009347656,-0.002025325,0.003261293,-0.025425622,-0.01553788,-0.000251867,0.014291527,0.012546631,0.035728816,-0.007062673,-0.006605676,0.000384293,-0.005047734,-0.032571387,-0.021188019,-0.02127111,-0.016036423,0.008475208,-0.004009106,0.014291527,-0.008101301,0.004424557,-0.038221523,-0.019360034,0.015039339,-0.015454791,-0.029580137,0.035728816,0.004466102,-0.000778971,-0.005068507,-0.017781317,0.00477769,0.001838372,0.030244859,0.01213118,-0.022932915,-0.005359322,0.037390623,0.005899409,0.002046098,0.037889164,0.016701145,0.010303194,0.02127111,-0.009513836,-0.022268193,-0.005650138,-0.00388447,0.016534964,-0.023265276,-0.00054528,0.004819236,0.004715373,-0.001178843,-0.051183607,-0.00614868,-0.010552464,-0.002741979,-0.009181475,0.023597637,0.019193852,0.017199686,-0.036393538,-0.00243039,-0.015870241,-0.014706978,-0.00145408,0.016368784,-0.011632638,-0.014623888,-0.01229736,-0.01553788,0.040880412,0.023929998,-0.014623888,0.002648502,0.031906664,-0.033734649,-0.026755067,0.002783524,0.005359322,0.009970833,0.001412535,0.016950415,0.016285693,-0.006730312,-0.02459472,0.050851244,-0.001827986,-0.020855658,0.020938748,0.004071423,-0.021603471,-0.007852031,-0.023929998,-0.029912498,-0.003365156,0.017365867,-0.010427829,-0.011715728,0.014956249,0.011383367,0.032405205,-0.028583053,-0.017448956,0.018446039,0.017615138,0.035728816,-0.010095468,-0.00254464,0.010012378,0.028250692,-0.020855658,-0.002305755,-0.001002276,-0.014125346,-0.007021128,-0.028583053,-0.045533467,-0.02758597,-0.020440206,0.001350217,0.010053922,0.020689478,-0.017615138,0.026422706,0.040880412,0.012463541,-0.010718645,-0.014706978,0.068134025,0.038720068,0.047859997,-0.012546631,0.015704062,-0.002087643,-0.010303194,0.014790068,0.018612221,0.007395034,-0.014790068,-0.017864408,-0.005068507,-0.054507218,0.004902326,-0.004050651,0.021603471,0.019775484,-0.024262359,-0.012795902,0.021935832,-0.004009106,-0.039717149,0.037556801,-0.016701145,-0.025757983,0.005483958,-0.005110051,-0.021935832,-0.003406701,0.010594009,0.015787151,-0.049854163,0.007727395,-0.008392117,-0.017199686,0.009970833,-0.008849114,-0.013876075,-0.0059825,-0.015870241,-0.007104218,0.028250692,-0.029081594,0.026921248,0.00299125,-0.017781317,0.042542219,0.018196769,0.052845411,-0.004819236,-0.014125346,0.02459472,-0.011715728,0.015787151,-0.005774774,0.004902326,-0.004964644,-0.02758597,-0.013959166,-0.033568468,-0.027918331,-0.017698228,0.003489791,-0.020024756,-0.021603471,0.019360034,0.028084511,-0.002503094,-0.018861491,-0.002295369,0.050851244,-0.020689478,-0.000459593,-0.026090344,0.002783524,-0.005899409,-0.026921248,-0.0093892,-0.004112968,0.031574301,0.003926015,-0.032903746,-0.046198189,-0.019027673,-0.00913993,0.030411039,-0.019443123,0.001963008,-0.005193142,0.010884825,-0.02127111,-0.025259443,0.032737568,0.00089322,0.003282066,0.001713737,-0.006439496,0.016867325,-0.031574301,0.031075761,-0.009970833,0.022600554,-0.023597637,-0.014956249,0.004009106,0.00198378,0.026588887,-0.023431456,-0.023763817,-0.013294443,-0.029746316,0.001381376,-0.042874578,-0.00913993,0.014873158,0.016202603,0.012878992,-0.006024044,0.009638472,0.010552464,-0.017033506,-0.027087428,0.044536386,-0.038055345,0.001329444,-0.019609304,0.023597637,-0.043206941,0.040049512,0.017615138,0.046862911,0.02127111,0.013294443,-0.039550968,-0.018861491,-0.019609304,-0.033734649,0.00623177,-0.017199686,0.041212775,-0.017781317,-0.024262359,0.054507218,-0.009721561,0.005816319,-0.00206687,-0.008766023,0.017365867,-0.000737426,0.018362951,-0.023597637,-0.019110762,0.021935832,0.041545134,-0.020357117,-0.017615138,0.044868745,-0.018030589,-0.032405205,-0.050186522,-0.014540797,0.005213914,-0.006688767,0.047527634,0.040714234],
9 "numCandidates": 150,
10 "limit": 10,
11 "quantization": "scalar"
12 }
13 },
14 {
15 "$project": {
16 "_id": 0,
17 "plot": 1,
18 "title": 1,
19 "score": { $meta: "vectorSearchScore" }
20 }
21 }
22]);
23EOF
24)
25
26kubectl exec --context "${K8S_CTX}" -n "${MDB_NS}" mongodb-tools-pod -- /bin/bash -eu -c "$(cat <<EOF
27echo '${mdb_script}' > /tmp/mdb_script.js
28mongosh --quiet "${MDB_CONNECTION_STRING}" < /tmp/mdb_script.js
29EOF
30)"
1mdbc-rs [primary] test> switched to db sample_mflix
2mdbc-rs [primary] sample_mflix> ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... [
3 {
4 plot: 'At the age of 21, Tim discovers he can travel in time and change what happens and has happened in his own life. His decision to make his world a better place by getting a girlfriend turns out not to be as easy as you might think.',
5 title: 'About Time',
6 score: 0.7704131603240967
7 },
8 {
9 plot: 'A psychiatrist makes multiple trips through time to save a woman that was murdered by her brutal husband.',
10 title: 'Retroactive',
11 score: 0.7597770690917969
12 },
13 {
14 plot: 'An officer for a security agency that regulates time travel, must fend for his life against a shady politician who has a tie to his past.',
15 title: 'Timecop',
16 score: 0.7574796676635742
17 },
18 {
19 plot: 'A time-travel experiment in which a robot probe is sent from the year 2073 to the year 1973 goes terribly wrong thrusting one of the project scientists, a man named Nicholas Sinclair into a...',
20 title: 'A.P.E.X.',
21 score: 0.7573235034942627
22 },
23 {
24 plot: 'After visiting 2015, Marty McFly must repeat his visit to 1955 to prevent disastrous changes to 1985... without interfering with his first trip.',
25 title: 'Back to the Future Part II',
26 score: 0.751945972442627
27 },
28 {
29 plot: 'A reporter, learning of time travelers visiting 20th century disasters, tries to change the history they know by averting upcoming disasters.',
30 title: 'Thrill Seekers',
31 score: 0.7503504753112793
32 },
33 {
34 plot: 'Hoping to alter the events of the past, a 19th century inventor instead travels 800,000 years into the future, where he finds humankind divided into two warring races.',
35 title: 'The Time Machine',
36 score: 0.750007152557373
37 },
38 {
39 plot: 'Lyle, a motorcycle champion is traveling the Mexican desert, when he find himself in the action radius of a time machine. So he find himself one century back in the past between rapists, ...',
40 title: 'Timerider: The Adventure of Lyle Swann',
41 score: 0.7499568462371826
42 },
43 {
44 plot: 'A romantic drama about a Chicago librarian with a gene that causes him to involuntarily time travel, and the complications it creates for his marriage.',
45 title: "The Time Traveler's Wife",
46 score: 0.7492842674255371
47 },
48 {
49 plot: 'A modern aircraft carrier is thrown back in time to 1941 near Hawaii, just hours before the Japanese attack on Pearl Harbor.',
50 title: 'The Final Countdown',
51 score: 0.7472751140594482
52 }
53]
54mdbc-rs [primary] sample_mflix>

La siguiente query busca en el campo plot películas con tramas que sean semánticamente similares a spy thriller, para las cuales la Búsqueda Vectorial genera automáticamente embeddings usando el modelo especificado en el índice para el campo plot (voyage-4). La query especifica hasta 150 vecinos a considerar y devuelve solo los 10 principales documentos en los resultados.

1mdb_script=$(cat <<'EOF'
2use sample_mflix;
3db.movies.aggregate([
4 {
5 "$vectorSearch": {
6 "index": "vector_auto_embed_index",
7 "path": "plot",
8 "query": "spy thriller",
9 "numCandidates": 150,
10 "limit": 10
11 }
12 },
13 {
14 "$project": {
15 "_id": 0,
16 "plot": 1,
17 "title": 1,
18 "score": { "$meta": "vectorSearchScore" }
19 }
20 }
21 ]);
22EOF
23)
24
25kubectl exec --context "${K8S_CTX}" -n "${MDB_NS}" \
26 mongodb-tools-pod -- /bin/bash -eu -c "$(cat <<EOF
27echo '${mdb_script}' > /tmp/mdb_script.js
28mongosh --quiet "${MDB_CONNECTION_STRING}" < /tmp/mdb_script.js
29EOF
30)"
1mdbc-rs [primary] test> switched to db sample_mflix
2mdbc-rs [primary] sample_mflix> ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... [
3 {
4 plot: 'A highly intellectual but socially awkward spy is tasked with preventing a terrorist attack from a Russian spy agency.',
5 title: 'Get Smart',
6 score: 0.831433892250061
7 },
8 {
9 plot: 'An unsuspecting, disenchanted man finds himself working as a spy in the dangerous, high-stakes world of corporate espionage. Quickly getting way over-his-head, he teams up with a mysterious femme fatale.',
10 title: 'Cypher',
11 score: 0.8292505741119385
12 },
13 {
14 plot: 'A researcher for the CIA who convinces his superiors to send him to the eastern bloc in order to avenge the murder of his wife by enemy agents discovers a web of deception underneath his ...',
15 title: 'The Amateur',
16 score: 0.8275086879730225
17 },
18 {
19 plot: 'A fearless, globe-trotting, terrorist-battling secret agent has his life turned upside down when he discovers his wife might be having an affair with a used car salesman.',
20 title: 'True Lies',
21 score: 0.827226996421814
22 },
23 {
24 plot: "A spy organization recruits an unrefined, but promising street kid into the agency's ultra-competitive training program, just as a global threat emerges from a twisted tech genius.",
25 title: 'Kingsman: The Secret Service',
26 score: 0.8263642191886902
27 },
28 {
29 plot: 'Tells the story of the complex relationship between an Israeli Secret Service officer and his teenage Palestinian informant. Shuttling back and forth between conflicting points of view, the...',
30 title: 'Bethlehem',
31 score: 0.8255410194396973
32 },
33 {
34 plot: 'In the early 1980s, an FBI Agent is assigned to investigate the murder of a respected professor. Through his investigation, he unearths a spider web of international secrets that has been ...',
35 title: 'Formosa Betrayed',
36 score: 0.8252558708190918
37 },
38 {
39 plot: 'A dramatization of the missions and adventures of the greatest spy in British history.',
40 title: 'Reilly: Ace of Spies',
41 score: 0.8243619799613953
42 },
43 {
44 plot: 'A paranoid, secretive surveillance expert has a crisis of conscience when he suspects that a couple he is spying on will be murdered.',
45 title: 'The Conversation',
46 score: 0.8240422606468201
47 },
48 {
49 plot: 'In London, a counter espionage agent deals with his own bureaucracy while investigating the kidnapping and brainwashing of British scientists.',
50 title: 'The Ipcress File',
51 score: 0.8222571015357971
52 }
53]
54mdbc-rs [primary] sample_mflix>

Para obtener más información sobre cómo crear índices y ejecutar consultas de búsqueda, consulta:

En esta página