Beispiel #1
0
        static void getStemms(string queryPar, int lcid, OnStemmed onStemmed)
        {
            DataSet ds    = new DataSet();
            var     query = string.Format("SELECT * FROM dbo.wordsStemms(N'{0}', {1}) ", queryPar, (int)lcid);

            using (SqlConnection subconn = new SqlConnection("data source=localhost\\SQLEXPRESS01;initial catalog=FulltextDesign;integrated security=True"))
                using (SqlDataAdapter adapter = new SqlDataAdapter {
                    SelectCommand = new SqlCommand(query, subconn)
                })
                    adapter.Fill(ds);
            lock (onStemmed)
                onStemmed(ds.Tables[0].Rows.Cast <DataRow>().Select(r => {
                    try {
                        return(new WordStemm {
                            word = (string)r["value"],
                            stemms = r["stemms"] as string,
                        });
                    } catch {
                        return(null);
                    }
                }));
        }
Beispiel #2
0
 public static void getStemms(List <string> words, int lcid, int batchSize, OnStemmed onStemmed)
 {
     Parallel.ForEach(Intervals.intervals(words.Count, batchSize), inter => {
         getStemms(getQuery(words, inter.start, inter.end), lcid, onStemmed);
     });
 }