public virtual void Setup()
        {
            MySqlOperator  = MySqlLuceneOperator.Create(Options);
            MySqlDirectory = new LuceneSqlDirectory(Options, MySqlOperator);
            MySqlWriter    = new IndexWriter(MySqlDirectory, new IndexWriterConfig(AppLuceneVersion, Analyzer));

            FileDirectory = FSDirectory.Open(IndexLocation);
            FileWriter    = new IndexWriter(FileDirectory, new IndexWriterConfig(AppLuceneVersion, Analyzer));
        }
        public virtual void GlobalCleanup()
        {
            Analyzer.Dispose();

            Directory.Delete(IndexLocation, true);

            using var mySqlOperator = MySqlLuceneOperator.Create(Options);

            mySqlOperator.PurgeTables();
        }
Example #3
0
        public LuceneStorageFixture()
        {
            const string connectionString = "server=localhost;port=3306;database=lucene;uid=root;password=password;Allow User Variables=True;";

            Options = new SqlDirectoryOptions(connectionString, "TestDirectory");

            const LuceneVersion appLuceneVersion = LuceneVersion.LUCENE_48;

            MySqlOperator = MySqlLuceneOperator.Create(Options);

            Directory = new LuceneSqlDirectory(Options, MySqlOperator);

            Analyzer = new StandardAnalyzer(appLuceneVersion);

            Writer = new IndexWriter(Directory, new IndexWriterConfig(appLuceneVersion, Analyzer));
        }
Example #4
0
        public static void Main(string[] args)
        {
            const string connectionString = "server=localhost;port=3306;database=lucene;uid=root;password=password;Allow User Variables=True;";

            var options = new SqlDirectoryOptions(connectionString, "ExampleDirectory");

            using var mySqlOperator = MySqlLuceneOperator.Create(options);

            using var directory = new LuceneSqlDirectory(options, mySqlOperator);

            using var analyzer = new StandardAnalyzer(LuceneVersion.LUCENE_48);

            using var writer = new IndexWriter(directory, new IndexWriterConfig(LuceneVersion.LUCENE_48, analyzer));

            var source = new
            {
                Name           = "Kermit the Frog",
                FavoritePhrase = "The quick brown fox jumps over the lazy dog"
            };

            var doc = new Document
            {
                new StringField(
                    "name",
                    source.Name,
                    Field.Store.YES),
                new TextField(
                    "favoritePhrase",
                    source.FavoritePhrase,
                    Field.Store.YES)
            };

            writer.AddDocument(doc);

            writer.Flush(false, false);

            var phrase = new MultiPhraseQuery
            {
                new Term("favoritePhrase", "brown"),
                new Term("favoritePhrase", "fox")
            };

            var searcher = new IndexSearcher(writer.GetReader(true));

            var result = searcher.Search(phrase, 20);
        }