Docs Menu
Docs Home
/ /

Utilice la búsqueda de MongoDB y la búsqueda vectorial

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

Para utilizar MongoDB Search y Vector Search, debe tener lo siguiente:

  • Implementación exitosa de MongoDB y MongoDBSearch.

    Para obtener más información, consulta:

    • Instalar y usar la búsqueda con MongoDB Enterprise Edition

    • Instalar y usar MongoDB Search y Vector Search con MongoDB Enterprise Edition externo

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

    Para obtener más información,consulte Configurar un usuario de Cloud Manager u Ops Manager para MongoDB Search y Vector Search.

  • 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 de este tutorial.

1
  1. Para configurar las variables de entorno que se utilizarán en los pasos posteriores de este procedimiento, copie lo siguiente, configure los valores para 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 CA público para el servicio MongoDBSearch para que el cliente mongosh pueda hacer referencia a él.

2

Implemente un pod llamado mongodb-tools-pod para ejecutar herramientas cliente de MongoDB como mongosh y mongorestore desde el 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 de la Comunidad MongoDB. El pod se mantiene en ejecución con un comando sleep infinity para permitirle usar kubectl exec para ejecutar las herramientas cliente de 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

Importe 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 de los géneros Western, Action y Fantasy de la colección movies con los siguientes campos adicionales:

  • plot_embedding_voyage_3_large - Contiene 2048d incrustaciones creadas a partir del campo plot utilizando el modelo de incrustación voyage-3-large de Voyage AI y convertidas a binData para un almacenamiento y recuperación eficientes.

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

movies

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

sessions

Campo de metadatos. Contiene los JSON Web Tokens de los usuarios.

theaters

Contiene las ubicaciones de los cines.

users

Contiene información de usuario.

El siguiente comando descarga el conjunto de datos de muestra y utiliza mongorestore para cargar los datos en la base de datos sample_mflix en su implementación de MongoDB, conectándose como 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

Puede crear un índice de búsqueda MongoDB o un índice de búsqueda vectorial. Debe crear un índice de búsqueda MongoDB para $search $searchMeta ejecutar consultas y, y un índice de búsqueda vectorial para ejecutar $vectorSearch consultas.

  • MongoDB Search ofrece definiciones de índice flexibles que admiten asignaciones de campos dinámicas y estáticas, diversos analizadores (estándar, específicos del lenguaje y personalizados) y funciones como sinónimos y búsqueda por facetas. Para obtener más información, consulte Defina su índice.

  • La búsqueda vectorial proporciona una definición de índice simple que admite la consulta de incrustaciones vectoriales o texto (si habilitó mongot para la incrustación automatizada) en sus datos en función de la similitud semántica mediante Algoritmo debúsqueda ANN y ENN. Para más información, consulte Definir índice de búsqueda vectorial.

  1. Copie, pegue y ejecute el siguiente comando en su terminal para crear un índice de búsqueda MongoDB o de búsqueda vectorial.

    El comando usa kubectl exec para ejecutar mongosh en 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 llamado default con asignaciones dinámicas en la colección movies. La asignación dinámica 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 plot_embedding_voyage_3_large campo con 2048 número de dimensiones en la embedded_movies colección para ejecutar consultas 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 puede crear el siguiente índice si configuró mongot para la incrustación automatizada. Esta función está disponible como versión preliminar en 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 incrustación definido en la variable de entorno para generar incrustaciones para los datos del 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 asincrónico. Ejecute el siguiente script para esperar 60 segundos a 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

    Alternativamente, ejecute 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

Una vez creado el índice, puede ejecutar consultas de MongoDB Search o Vector Search utilizando el índice. También puede combinar MongoDB Search con Vector Search. Para obtener más información sobre cómo ejecutar consultas de MongoDB Search, consulte "Definir su consulta". Para obtener más información sobre las consultas de Vector Search, consulte "Ejecutar consultas de Vector Search".

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

La siguiente consulta busca en el campo plot tramas de películas que contengan el término baseball. Excluye películas de 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 consulta busca el campo plot_embedding_voyage_3_large utilizando incrustaciones de vectores de dimensión 2048 para la cadena time travel, generada utilizando el modelo voyage-3-large de Voyage AI.

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 consulta busca en el campo plot películas con tramas semánticamente similares a spy thriller, para las cuales Vector Search generó automáticamente incrustaciones utilizando el modelo especificado en el índice del campo plot (voyage-4). La consulta especifica hasta 150 vecinos a considerar y devuelve solo los 10 documentos principales 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, consulte:

En esta página