romruben / TFM

Ruben's master thesis
1 stars 2 forks source link

Content Search #5

Closed romruben closed 9 years ago

romruben commented 9 years ago
romruben commented 9 years ago

In the first documentation round, i found the following info:

Content Search

In this link we can found several points of study and a deficiencies list in the text search. Also the page contains some suggestions for avoid these deficiencies. On the other hand there is a list of free and open source frameworks as well as proprietary. (must-read)

  • FullText search engines: This is a list of Fulltext Search Engines, and technologies that could potentially be used to build them.
  • hOOt: Smallest full text search engine (lucene replacement) built from scratch using inverted WAH bitmap index, highly compact storage, operating in database and document modes
  • Open Semantic Searh: Free software for your own search engine, data explorer and research tools based on Apache Lucene / Solr or Elastic Search open-source enterprise-search and open standards for Linked Data and Semantic Web.
  • FullProof: A javascript-based fulltext search engine library.
fpromero commented 9 years ago

Ok, It is very important

  1. to build an index from the bussiness documents provided by Docpath.
  2. Define 3-5 examples queries
  3. Perform the evaluation.

Eloy can help you in this tasks.

romruben commented 9 years ago
romruben commented 9 years ago

Experiment Design

Content Search

i will use Docker for a fast deploy of the infrastructure as elasticsearch, solr, and so on. Each one in a docker container.

@fpromero

fpromero commented 9 years ago

OK

romruben commented 9 years ago

In this issue, the frameworks definition is needed.

romruben commented 9 years ago
romruben commented 9 years ago

Frameworks Definition

Content Search

fpromero commented 9 years ago

Donde almacena los documentos SPHINX en una base de datos MySQL o Postgres?

romruben commented 9 years ago

ambas, normalmente mysql.

ya tengo instalado y configurado un elasticsearch y solr. Hoy no se si meterle indices random que encuentre por ahí o ponerme con el postagger.

romruben commented 9 years ago

Al final me he visto obligado a rehacer todo, lo de docker esta bien para un entorno en el que todo esta configurado y tal, pero me he topado con ciertos bugs de esta version y me ha dificultado el trabajo. Además la comunicación con el contenedor no iba muy bien.

Finalmente he optado por el camino tradicional, re-instalar y volver a configurar solr y elasticsearch en local. Una vez configurados se han indexado los documentos de docpath en plan prueba con solo dos campos de indice, el titulo del fichero y el contenido, tanto en solr como en elasticsearch.

Mañana empezaré a lanzar búsquedas y ver rendimientos, si es posible, empezaré a bombardear con peticiones haciendo uso de gatler.

romruben commented 9 years ago

Durante el día de hoy, he estado estudiando cómo realizar las búsquedas contra Solr y Elasticsearch. He buscado hacerlas lo más sencillo posible via URI. Una vez comprobado como funciona, lo he documentado y he pasado a evaluar la herramienta que hablamos, Gatling.

Esta herramienta es tondo un submundo por debajo, todo programado en scala, arquetipos de mvn propios, etc. Bueno finalmente he conseguido programar, compilar y lanzar un test sencillo contra el servidor local solr, consistente en 10.000 peticiones de búsqueda por parte de 100 usuarios concurrentes de la palabra "motorola".

Se pueden ver algunos resultados del reporte final obtenido:

http://o05.imgup.net/ScreenShotf35b.png http://m33.imgup.net/ScreenShot4183.png http://k82.imgup.net/ScreenShotc3a5.png http://w25.imgup.net/ScreenShot08ce.png http://b06.imgup.net/ScreenShotb47a.png

Mañana hago el script en scala en el mismo proyecto que he subido al repositorio, esta vez para elasticsearch. Y me voy a poner con el #2 POSTagger, si te parece bien, porque en esta sección ya hay poco más que rascar hasta las pruebas con documentos mejores y una estrategia.

romruben commented 9 years ago

Ayer no hice comentarios puesto que me rechinaba algunos resultados que obtenía con gatling entre solr y elasticsearch y me he pasado un par de días analizándolos. Esta mañana he descubierto que estaba pasando y he conseguido hacer los test correctamente. Las conclusiones que se ha sacado es que, Solr está permitiéndonos realizar por lo general más peticiones de búsqueda por segundo (en torno al 15% más según mis tests).

De todas maneras esto, con las pruebas futuras y documentos reales, se podrá explorar mejor y ver qué configuración tiene cada uno mas detalladamente y hacer búsquedas más complejas. Puede que el rendimiento no este tanto en recibir y contestar peticiones sencillas, como el de responder a peticiones con alto numero de campos etc.