private void btnCreateIndex_Click(object sender, EventArgs e) { string sql = "SELECT VerseID, VerseText FROM Verse"; using (SqlCeConnection conn = new SqlCeConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString)) { conn.Open(); var rdr = new SqlCeCommand(sql, conn).ExecuteReader(); var context = new TextFileAccessContext("Bible", IndexDir, new CultureInfo("en-US")); var textIndexSaver = new TextIndexSaver <int>(context); var wordBreaker = new DefaultWordBreaker(new WordBreakingInformationRetriever(context.Directory, context.Culture)) { DatabasePath = context.Directory }; var textIndexFiller = new TextIndexFiller <int>(wordBreaker); var indexCreator = new IndexCreator <int>(textIndexFiller); var index = indexCreator.CreateIndex(new BibleVersuses(rdr)); textIndexSaver.SaveIndex(index); rdr.Close(); } }
private FreeTextQuery <int> LoadIndex() { var context = new TextFileAccessContext("Bible", IndexLocation, new CultureInfo("en-US")); IndexReader = new TextIndexReader <int>(context); return(new FreeTextQuery <int>( new DefaultWordBreaker( new WordBreakingInformationRetriever(context.Directory, context.Culture)), new DefaultThesaurus(new ThesaurusDictionaryRetriever(context.Directory)), new WordRefEqualityComparer <int>(), new TextIndexSearcher <int>())); }
public TextIndexSaver(TextFileAccessContext textFileAccessContext) { indexFileNameGenerator = new IndexFileNameGenerator(textFileAccessContext); textIndexFileInformation = new TextIndexFileInformation(); }
public TextIndexReader(TextFileAccessContext textFileAccessContext) { this.textFileAccessContext = textFileAccessContext; }