Ejemplo n.º 1
0
		public void MrsJones()
		{
			var dir = new RAMDirectory();
			var analyzer = new WhitespaceAnalyzer();
			var writer = new IndexWriter(dir, analyzer, true, IndexWriter.MaxFieldLength.UNLIMITED);
			var document = new Lucene.Net.Documents.Document();
			document.Add(new Field("Name", "MRS. SHABA", Field.Store.NO, Field.Index.ANALYZED_NO_NORMS));
			writer.AddDocument(document);

			writer.Close(true);

			

			var searcher = new IndexSearcher(dir, true);

			var termEnum = searcher.GetIndexReader().Terms();
			while (termEnum.Next())
			{
				var buffer = termEnum.Term().Text();
				Console.WriteLine(buffer);
			} 

			var queryParser = new QueryParser(Version.LUCENE_29, "", analyzer);
			queryParser.SetLowercaseExpandedTerms(false);
			var query = queryParser.Parse("Name:MRS.*");
			Console.WriteLine(query);
			var result = searcher.Search(query, 10);

			Assert.NotEqual(0,result.totalHits);
		}
Ejemplo n.º 2
0
        public void QueryParserTest_QuandoTestarEmAnuncios_DeveRealizarPesquisa(int quantidadeEsperadaResultado, string textoPesquisa)
        {
            using (var pesquisador = new IndexSearcher(anunciosEmMemoria.Diretorio, true))
            {
                var queryParser = new QueryParser(Lucene.Net.Util.Version.LUCENE_29,
                                            AnunciosEmMemoria.Descricao,
                                            anunciosEmMemoria.Analizador);
                queryParser.SetLowercaseExpandedTerms(true);
                var query = queryParser.Parse(textoPesquisa);
                var resultado = pesquisador.Search(query, 10).ScoreDocs.Where(s => s.Score > 0.1999999F);
                var resultadoEncontrado = new StringBuilder("Resultado encontrado");

                foreach (var doc in resultado)
                {
                    var documentoEncontrado = pesquisador.Doc(doc.Doc);
                    resultadoEncontrado.AppendLine(documentoEncontrado.Get(AnunciosEmMemoria.Descricao));
                    resultadoEncontrado.AppendLine(string.Format("Score: {0}", doc.Score));
                }

                resultadoEncontrado.ToString();

                Assert.AreEqual(quantidadeEsperadaResultado, resultado.Count(), resultadoEncontrado.ToString());
            }
        }