コード例 #1
0
 public Searcher(string directory, IQueryParser parser = null, IScoringSchemeFactory scorerFactory = null, IReadSessionFactory sessionFactory = null)
 {
     _parser         = parser ?? new QueryParser();
     _scorerFactory  = scorerFactory ?? new TfIdfFactory();
     _versions       = Util.GetIndexVersionListInChronologicalOrder(directory);
     _blockSize      = BlockSerializer.SizeOfBlock();
     _sessionFactory = sessionFactory ?? new FullTextReadSessionFactory(directory);
 }
コード例 #2
0
 public Searcher(IReadSessionFactory sessionFactory)
 {
     _parser         = new QueryParser();
     _scorerFactory  = new TfIdfFactory();
     _versions       = Util.GetIndexVersionListInChronologicalOrder(sessionFactory.DirectoryName);
     _blockSize      = BlockSerializer.SizeOfBlock();
     _sessionFactory = sessionFactory;
 }
コード例 #3
0
ファイル: Searcher.cs プロジェクト: ksec/resin
 public Searcher(string directory, long version, QueryParser parser, IScoringSchemeFactory scorerFactory, IReadSessionFactory sessionFactory = null)
 {
     _directory      = directory;
     _parser         = parser;
     _scorerFactory  = scorerFactory;
     _versions       = new[] { BatchInfo.Load(Path.Combine(directory, version + ".ix")) };
     _blockSize      = BlockSerializer.SizeOfBlock();
     _sessionFactory = sessionFactory ?? new ReadSessionFactory(directory);
 }
コード例 #4
0
ファイル: Searcher.cs プロジェクト: ksec/resin
 public Searcher(string directory, QueryParser parser, IScoringSchemeFactory scorerFactory, IReadSessionFactory sessionFactory = null)
 {
     _directory     = directory;
     _parser        = parser;
     _scorerFactory = scorerFactory;
     _versions      = Util.GetIndexFileNamesInChronologicalOrder(directory)
                      .Select(f => BatchInfo.Load(f)).ToArray();
     _blockSize      = BlockSerializer.SizeOfBlock();
     _sessionFactory = sessionFactory ?? new ReadSessionFactory(directory);
 }
コード例 #5
0
        public static void Main(string[] args)
        {
            string dataDirectory          = "c:\\temp\\resin_data\\pg";
            string postingsServerHostName = null;
            int    pport = 0;
            string documentsServerHostName = null;
            int    dport = 0;

            if (Array.IndexOf(args, "--ps") > -1)
            {
                postingsServerHostName = args[Array.IndexOf(args, "--ps") + 1];
                pport = int.Parse(args[Array.IndexOf(args, "--pport") + 1]);
            }

            if (Array.IndexOf(args, "--ds") > -1)
            {
                documentsServerHostName = args[Array.IndexOf(args, "--ds") + 1];
                dport = int.Parse(args[Array.IndexOf(args, "--dport") + 1]);
            }

            if (Array.IndexOf(args, "--dir") > -1)
            {
                dataDirectory = args[Array.IndexOf(args, "--dir") + 1];
            }

            var bin = Directory.GetCurrentDirectory();

            Directory.SetCurrentDirectory(dataDirectory);

            if (postingsServerHostName == null && documentsServerHostName == null)
            {
                SessionFactory = new FullTextReadSessionFactory(dataDirectory);
            }
            else
            {
                //TODO: make katamaran servers optional
                SessionFactory = new NetworkFullTextReadSessionFactory(
                    postingsServerHostName, pport, documentsServerHostName, dport, dataDirectory);
            }

            var host = new WebHostBuilder()
                       .UseKestrel()
                       .UseContentRoot(bin)
                       .UseIISIntegration()
                       .UseStartup <Startup>()
                       .Build();

            host.Run();

            SessionFactory.Dispose();
        }