Vuepress configura el método de búsqueda de Algolia y la guía para evitar pits

Hoy es el primer día del examen de ingreso a la universidad de 2023. Como estudiante de primer año en la escuela secundaria, también me inscribí para experimentarlo. Siento que los problemas de chino y matemáticas en Shandong este año no son muy difíciles (al menos más fáciles que el primero modelo y el segundo modelo) (por supuesto, mis calificaciones son definitivamente malas)

¡Mucha suerte a todos los candidatos!

Qué es esto

El eslogan del sitio web oficial de Algolia DocSearch es este: Free Algolia Search For Developer Docs, es decir, Algolia proporciona servicios de búsqueda gratuitos para desarrolladores.

De hecho, este es un motor de búsqueda para un sitio determinado. Rastreará su sitio web como un motor de búsqueda y luego le proporcionará una interfaz API. Cuando los usuarios buscan en su sitio web, solo necesitan llamar a la API. Puede.

No lo subestimes, los siguientes proyectos han adoptado sus servicios:

1686139297189

Además, me gustaría señalar un punto antes de comenzar el texto: aunque DocSearch es la única comprensión de Algolia para muchos de nosotros, su negocio es más que eso.

cómo utilizar

Este artículo presenta el método de acceso para solicitar el rastreo desde el sitio web oficial. De acuerdo con su documentación, también puede ejecutar el rastreador usted mismo y cargar los datos en Algolia para obtener servicios. Lea la investigación usted mismo si es necesario: Ejecute su propio | DocSearch de Algolia

Aplicar para gatear

Primero visite DocSearch de Algolia , haga clic en "Aplicar" en esta página, complete la dirección de su sitio web, la dirección de correo electrónico y la dirección de código abierto (DocSearch requiere que su sitio web sea de código abierto).

Después de presentar la solicitud, solo espere a que el funcionario le envíe un correo electrónico. Algolia te enviará dos correos electrónicos para informarte que la solicitud está aprobada y que el rastreo se ha completado. Según mi experiencia, el tiempo de entrega de los dos correos electrónicos es de 15 minutos. Esperé tres días antes de recibir mi primer correo electrónico.

Obtener información de la API

En el correo electrónico oficial, extraiga appId apiKeyy indexNametres información, y luego configúrelo de acuerdo con la documentación del marco Vuepress que utiliza.

1686140121886

Una vez completada la configuración, intente buscar una palabra clave (asegúrese de que haya documentos en su sitio web que contengan esta palabra clave), si los resultados de la búsqueda se devuelven normalmente, felicitaciones, ha completado la configuración; si es como yo, puede buscar todo Sin resultados, luego continúe mirando hacia abajo.

Modificar la configuración de rastreo

¿Por qué no puedo encontrar nada después de rastrear? Esto se debe a que cuando Algolia rastrea, solo indexa el texto debajo del elemento que coincide con el selector de elementos especificado en cada página, por lo que en la mayoría de los casos necesitamos especificar manualmente el selector.

Dirección de configuración: Rastreadores | Consola de administración del rastreador

En la página de inicio, haga clic en su aplicación, luego en la nueva página, haga clic en Editor a la izquierda:

1686140459241

1686140469015

En la interfaz de configuración hay un archivo JS muy largo, solo debemos prestar atención a la primera parte:

new Crawler({
    
    
  rateLimit: 8,
  maxDepth: 10,
  maxUrls: 5000,
  startUrls: ["https://www.yixiangzhilv.com/"],
  renderJavaScript: false,
  sitemaps: ["https://www.yixiangzhilv.com/sitemap.xml"],
  ignoreCanonicalTo: true,
  discoveryPatterns: ["https://www.yixiangzhilv.com/**"],
  schedule: "at 12:20 on Monday",
  actions: [
    {
    
    
      indexName: "yixiangzhilv",
      pathsToMatch: ["https://www.yixiangzhilv.com/**"],
      recordExtractor: ({
     
      helpers }) => {
    
    
        return helpers.docsearch({
    
    
          recordProps: {
    
    
            lvl1: ".page-container h1",
            content: ".theme-reco-default-content p, .content__default li",
            lvl0: {
    
    
              selectors: "p.sidebar-heading.open",
              defaultValue: "Documentation",
            },
            lvl2: ".theme-reco-default-content h2",
            lvl3: ".theme-reco-default-content h3",
            lvl4: ".theme-reco-default-content h4",
            lvl5: ".theme-reco-default-content h5",
            lang: "",
            tags: {
    
    
              defaultValue: ["v1"],
            },
          },
          aggregateContent: true,
        });
      },
    },
  ],
  ...
}

Puede configurar los parámetros intermedios startUrls pathsToMatchsegún sus propias necesidades. Cabe señalar que la URL que se muestra aquí en el documento que se puede generar por primera vez en algún momento no es el directorio raíz del sitio web, pero etc. Preste atención a la proyección /docs/**. Además, si se trata de un proyecto de renderizado front-end, debe habilitar renderJavaScriptla opción (Suplemento 2023.7.12: no lo habilité al principio y fue exitoso. Más tarde, comencé a informar errores y encontré este problema. No no sé por qué no estaba habilitado antes)

En lo que debemos centrarnos es recordProps. A continuación, libero la configuración predeterminada que obtuve y mi configuración modificada, puede comparar:

asignación predeterminada

recordProps: {
    
    
  lvl1: ".content__default h1",
  content: ".content__default p, .content__default li",
  lvl0: {
    
    
    selectors: "p.sidebar-heading.open",
    defaultValue: "Documentation",
  },
  lvl2: ".content__default h2",
  lvl3: ".content__default h3",
  lvl4: ".content__default h4",
  lvl5: ".content__default h5",
  lang: "",
  tags: {
    
    
    defaultValue: ["v1"],
  },
},

Configuración modificada

recordProps: {
    
    
  lvl1: ".page-container h1",
  content: ".theme-reco-default-content p, .content__default li",
  lvl0: {
    
    
    selectors: "p.sidebar-heading.open",
    defaultValue: "Documentation",
  },
  lvl2: ".theme-reco-default-content h2",
  lvl3: ".theme-reco-default-content h3",
  lvl4: ".theme-reco-default-content h4",
  lvl5: ".theme-reco-default-content h5",
  lang: "",
  tags: {
    
    
    defaultValue: ["v1"],
  },
},

:::
::::

¿Ver la diferencia? De hecho, necesitamos decirle a Algolia de qué elemento extraer el texto de acuerdo con la posición del elemento del cuerpo de nuestro sitio web en el documento HTML. Por ejemplo, para el tema vuepress-theme-reco que uso, debe extraerse .theme-reco-default-contentde :

1686140985552

Después de la modificación, puede ingresar la URL de una interfaz de su propio sitio web para probar en el Probador de URL en el lado derecho del sitio web (tenga en cuenta que elige la interfaz de texto en lugar de la página de inicio, después de todo, no hay nada en la página de inicio para la indexación), si ves que hay contenido en Registros es éxito.

1686141171926

Después de eso, haga clic en el pequeño ojo marcado con 4 en la imagen de arriba para volver a la interfaz de descripción general, haga clic en el botón Reiniciar rastreo en la esquina superior derecha para reiniciar el rastreador y espere pacientemente a que se complete el rastreo.

1686141296294

Referencias

Supongo que te gusta

Origin blog.csdn.net/weixin_44495599/article/details/132022146
Recomendado
Clasificación