Desarrollar directorio de motor de búsqueda usando C#
1.1 Varios motores de búsqueda 1
1.1.1 Búsqueda general 2
1.1.2 Búsqueda vertical 2
1.1.3 Búsqueda en el sitio 3
1.2 Estructura general del motor de búsqueda 3
1.3 Tecnología básica del motor de búsqueda 4
1.3.1 Web rastreador 4
1.3.2 Minería de texto 4
1.3.3 Índice de texto completo 4
1.3.4 Introducción a la sintaxis de búsqueda 7
1.3.5 Interfaz de usuario de búsqueda 8
1.4 Inicio rápido con el desarrollo en C# 9
1.4.1 Preparación del entorno de desarrollo 9
1.4.2 Sintaxis básica 9
1.4.3 Matriz multidimensional 11
1.4.4 Operación de bits 11
1.4.5 Tipo de enumeración 12
1.4.6 Objeto orientada
1.4.7 Clase de Configuración 15
1.4.8 General 17
1.4.9 Delegaciones y Actividades 17
1.4. 10 Biblioteca de clases 20
1.5 Resumen de este capítulo 20
1.6 Glosario 20
Capítulo 2 Uso de C# para desarrollar rastreadores web 22
2.1 Rastreadores web Principio del rastreo 22
2.2 Arquitectura del rastreador 24
2.2.1 Infraestructura 25
2.2.2 Arquitectura del rastreador distribuido 26
2.2.3 Arquitectura de rastreador vertical 27
2.3 Descarga de páginas web 28
2.3.1 Protocolo HTTP 28
2.3.2 Descarga de páginas web estáticas 31 p>
2.3.3 Descargar páginas web dinámicas
2.4 Recorrido e implementación del rastreador 42
2.5 Mapa del sitio 44
2.6 Grupo de conexiones 44
2.7 Recuperación de novedades de direcciones URL 45
2.7.1 Base de datos integrada 46
Filtro Bloom 48
2.8 Obtención de RSS 50
2.9 Analizar direcciones relativas 53
2.10 Actualización de páginas web 53
2.11 Filtrado de información 56
2.12 Industrias verticales captan 60
2.13 Rastreo método de respuesta de restricción 60
2.13.1 Reemplazar dirección IP 61.
2.13.2 Capturar páginas web que requieren inicio de sesión 64
2.13.3 Capturar 66 páginas de páginas web ASP.NET
2.14 Guardar información 69
2.14.1 se almacena en la base de datos 69.
2.14.2 Guardar como imagen 70
2.15 Registro 71
2.16 Descripción general del capítulo 74
Glosario 75
Capítulo 3 Índice de archivos de varios formatos 78
3.1 Extracción de información de archivos HTML 78
3.1.1 Código utilizado para identificar páginas web 78
3.1.2 Expresiones regulares 80
3.1.3 Introducción al paquete ágil HTML 84
3.1.4 Extracción de texto de páginas web 88
3.1.5 Extracto de información estructurada 100 p>
3.1.6 Ver la estructura DOM de la página web 104.
3.1.7 Cálculo de similitud de estructura de página web 106
3.2 Extracción de texto de archivos que no son HTML 109
3.2.1 Archivos de texto 109
Archivo PDF 109
3.2.3 Archivo Office 112
3.2.4 Archivo Rtf 113
3.3 Descripción general de este capítulo 114
3.4 Glosario 114
Capítulo 4 Procesamiento del lenguaje natural 115
4.1 Aprendizaje automático estadístico 115
4.2 Copia de archivos 121
4.3 Clave china Extracción de palabras 129
4.3.1 Método básico de extracción de palabras clave 129
4.3.2 Extracción de palabras clave de páginas web 132.
4.4 Búsqueda relacionada 132
4.5 Revisión ortográfica 133
4.5.1 Modelo probabilístico de revisión ortográfica 134
4.5.2 Problema de concordancia difusa 134
Corrector ortográfico en inglés 138
4.5.4 Corrector ortográfico en chino 141
4.6 Resumen de texto 142
4.6.1 Resumen de texto Diseño 142
4.6.2 Implementación de tecnología de resumen de texto 143
4 6 3 Resumen dinámico de Lucene.Net 148
4.7 Clasificación de texto 149
4.7.1 Definición de clasificación automática de interfaz 149
4.7.2 Implementación de clasificación automática 149
4.8 Agrupación automática 151
4.8.1 Similitud de documentación 151
4.8.2 K-significa método de agrupamiento 154
4.8.3 K representa 155.
4.9 Conversión de Pinyin 157
4.10 Árbol de análisis 157
4.11 Extracción de información 164
4.12 Resumen de este capítulo 171
4.13 Vocabulario 172
El Capítulo 5 utiliza C# 174 para implementar la segmentación de palabras chinas.
5.1 Palabras chinas 174
5.2 Método básico de segmentación de texto 174
5.3 Máquina de estados finitos 177
5.4 Algoritmo de búsqueda de diccionario 179
5.4.1 Árbol Trie estándar 180
5.4.2 Árbol trinomio 185
5.5 Principio de segmentación de palabras chinas 189
5.6 Segmentación de palabras chinas proceso y estructura 192
5.7 Gráfico de segmentación 193
5.7.1 Guardar gráfico de segmentación 194.
5.7.2 Generar gráfico de palabras completamente segmentado 198.
5.8 Método de segmentación del modelo de lenguaje probabilístico 201
Modelo de un elemento 201
Modelo de cinco elementos 204
5.9 Entropía máxima 208
p>5.10 Reconocimiento de palabras no registradas 210
5.11 Marcado de ubicación 210
5.12 Clasificación de nombres de lugares 220
5.12.1 Dirección etiquetado de categorías 220
5.12.2 Reconocimiento de palabras desconocidas 220
5.13 Descripción general de este capítulo 222
5.14 Glosario 223
Capítulo 6 Lucene Principios y aplicaciones de .Net 224
6.1 Inicio rápido de Lucene.Net 224
6.1.1 Archivos de índice 225
6.1.2 Buscar documentos 226
6.1.3 Estructura de Lucene.Net 228
6.2 Introducción detallada a Lucene.Net 229
6.2.1 Principios de indexación 229
6.2. 2 Análisis de texto 231
6.2.3 Recorrer la biblioteca de índices 234
Modelo de recuperación 235
6.2.5 Recopilar los archivos más relevantes 236
6.3 Algoritmo de compresión en el índice 240
6.3.1 Compresión de longitud variable 241
6.3.2 Codificación diferencial 242
6.4 Creación y mantenimiento de una base de datos de índice 243
6.4.1 Diseñar un almacenamiento de índice simple 243
Crear una biblioteca de índice 244
6.4.3 Agregar documentos de índice a la biblioteca de índice 245
6.4.4 Eliminar el almacenamiento de índices Documentos de índice 247
6.4.5 Actualizar documentos de índice en el almacenamiento de índices 247
6.4.6 Optimización y fusión de índices 248 p>
6.5 Buscar en la biblioteca de índices 248
Consulta booleana 249
6.5.2 Consultar varias columnas al mismo tiempo 252
Consulta de extensión 253
6.5.4 Consulta comodín 256
Filtro 256
6.5.6 Ordenar por columna especificada 258
6.5.7 Consultar índice de lote 263
Consulta de función 265
6.5.9 Personalización de similitud 268
Evaluación de resultados de búsqueda 269
6.6 Recuperación de información china 269
6 6 . 1 Procesamiento de chino Lucene.Net 270
6 6 2 Uso de segmentación de palabras chinas en Lietu 270
6.6.3 Tokenizador personalizado 271
6.6.4 Analizar la cadena de consulta 273
6.6.5 Implementar el índice híbrido de Word 276
6.7 Obtener el contenido de la base de datos 280
Leer datos 280
Sincronización de datos 282
6.8 Búsqueda de conceptos 282
6.9 Descripción general de este capítulo 285
6.10 Vocabulario 286
Capítulo 7 Implementación de la interfaz de usuario de búsqueda 287
7.1 Diseño de la página de búsqueda 287
7.1.1 ASP.NET se utiliza para mostrar los resultados de búsqueda 287
7.1 .2 Paginación de resultados de búsqueda 290
7.1.3 Diseñar una página de búsqueda simple
7.2 Implementar la interfaz de búsqueda 291
7. 1 Interfaz de búsqueda de Lucene.Net. 291
7.2.2 Búsqueda por rango especificado 296
7.2.3 Almacenamiento en caché del índice y actualización de páginas de búsqueda 297
7.3 Implementación del resaltado de palabras clave 300
7.4 Implementación de la vista estadística de clasificación 301
7.4.1 Navegación y estadísticas de clasificación de resultados de búsqueda 301
7.4.2 Árbol jerárquico 305
7.5 Términos de búsqueda relacionados 307
7.6 Implementación de la finalización automática de AJAX 308
7.6.1 Estructura general 308
7.6.2 Procesamiento del lado del servidor 31
0
7.6.3 Procesamiento del lado del navegador 310
7.7 Integrar otras funciones 312
Revisión ortográfica
7.7.2 Encontrado de nuevo 313
7.7.3 Lista negra 314
7.7.4 Registro de búsqueda 315
7.8 Descripción general de este capítulo 316
Capítulo 8 Desarrollo usando Solr Búsqueda de sitios web 317
8.1 Servidor de búsqueda 317
8.8.1 Estructura del suelo 317
8.1.2 Iniciar servidor Solr 318
8.1. 3 Solr 321 configurado que admite chino.
8.1.4 Datos de índice 324
8.1.5 Función de consulta 325
8.1.6 Resaltado 328
8.2 Solr. Cliente de red 329
8.2.1 Uso de SolrNet 329
8.2.2 Implementación de clasificación múltiple 336
8.2.3 Estadísticas de clasificación 338
8.3 Sintaxis de consulta 341
8.3.1 Espacios de soporte 341
Peso de fecha 342
8.4 Distribución exponencial 344
8.5 Descripción general de esto capítulo 345
Desarrollar motor de búsqueda con C#
Tabla de contenidos