Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

191
Vistas
¿Cómo almacenar e indexar la salida de Draft.js en las bases de datos?

¿Cuál es la forma más eficiente de realizar la indexación para la búsqueda de texto completo?

Uso mongodb, pero creo que esto no es tan importante en el contexto de esta pregunta.

Estoy pensando en dos formas de almacenar la salida de draft.js con una mayor indexación:

  1. Conviértalo en descuento. Esto parece simple, la indexación de búsqueda de texto completo es lo suficientemente inteligente como para filtrar todos los caracteres basura durante la indexación. Sin embargo, si la reducción fuera tan buena, draft.js probablemente generaría datos como reducción en lugar de la estructura de bloques. Por lo tanto, creo que debe haber ventajas al almacenar bloques tal como están.
  2. Almacene bloques después de JSON.stringify y almacene todas las propiedades de "texto" de cada bloque como texto sin formato en propiedad de documento separada (o columna de tabla para sql). Por lo tanto, el texto sin formato estará allí solo para la indexación y el resto del trabajo lo realizará JSON analizado/en cadena. Suena innecesariamente complicado, siendo honesto.

Si ya se han encontrado con esta situación, ¿pueden tener algunos consejos precisos sobre cómo almacenar e indexar estos datos?

Aquí algunos ejemplos para ser específicos:

Ejemplo de editor draftjs

Ejemplo de texto:

 <p>First line of text</p> <h1>A header</h1> <p>text and one <strong>BOLD</strong> word</p>

Salida de Draft.js:

 { "entityMap":{ }, "blocks":[ { "key":"4vno8", "text":"First line of text", "type":"unstyled", "depth":0, "inlineStyleRanges":[ ], "entityRanges":[ ], "data":{ } }, { "key":"dr3c5", "text":"A header", "type":"header-one", "depth":0, "inlineStyleRanges":[ ], "entityRanges":[ ], "data":{ } }, { "key":"c5ndf", "text":"text and one BOLD word", "type":"unstyled", "depth":0, "inlineStyleRanges":[ { "offset":13, "length":4, "style":"BOLD" } ], "entityRanges":[ ], "data":{ } } ] }
over 4 years ago · Santiago Trujillo
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda