Beispiel #1
0
        // Ejecuta la consulta y devuelve una lista con las mediciones; una medición por cada query.
        private static IList <Medicion> Medir()
        {
            IList <Medicion> resultados    = new List <Medicion>();
            StreamReader     reader        = new StreamReader(archQuerys);
            QueryParser      parser        = new MultiFieldQueryParser(new[] { "T", "W" }, analyzer);
            Searcher         indexSearcher = new IndexSearcher(dirIndices);

            if (useAlternativeScoreFunction)
            {
                indexSearcher.SetSimilarity(new AlternativeScore());
            }
            string query = "", nombreDelQuery = "", linea = reader.ReadLine();

            while (linea != null)
            {
                if (linea.StartsWith("<num> Number: "))
                {
                    nombreDelQuery = linea.Substring(14);
                }
                if (linea.StartsWith("<title> "))
                {
                    query = linea.Substring(8);
                }
                if (linea.StartsWith("<desc> Description:"))
                {
                    query += " " + reader.ReadLine();
                    resultados.Add(MedirConsulta(nombreDelQuery, query, parser, indexSearcher));
                }
                linea = reader.ReadLine();
            }
            indexSearcher.Close();
            reader.Close();
            return(resultados);
        }