コード例 #1
0
        public SearchRepository(IOptions<ApplicationConfiguration> o)
        {
            _optionsApplicationConfiguration = o;
            var uri = new Uri(_optionsApplicationConfiguration.Value.ElasticsearchConnectionString);
            var settings = new ConnectionSettings( uri,  defaultIndex: "coolsearchengine");
            settings.MapDefaultTypeIndices(d => d.Add(typeof(AlarmMessage), INDEX_ALARMMESSAGE));
            settings.MapDefaultTypeNames(d => d.Add(typeof(AlarmMessage), TYPE_ALARMMESSAGE));

            client = new ElasticClient(settings);
        }
コード例 #2
0
        public SearchRepository(IConfiguration configuration)
        {           
            var node = new Uri(configuration.Get("Development:ElasticsearchConnectionString"));

            var settings = new ConnectionSettings( node,  defaultIndex: "coolsearchengine");
            settings.MapDefaultTypeIndices(d => d.Add(typeof(AlarmMessage), INDEX_ALARMMESSAGE));
            settings.MapDefaultTypeNames(d => d.Add(typeof(AlarmMessage), TYPE_ALARMMESSAGE));

            client = new ElasticClient(settings);
        }
コード例 #3
0
        /// Constructor
        public EsClient()
        {
            var node = new Uri(ElasticUri);

            _settings = new ConnectionSettings(node);
            _settings.SetDefaultIndex(ConfigurationManager.AppSettings["DefaultIndex"]);
            _settings.MapDefaultTypeNames(m => m.Add(typeof(HadoopMetaDataModels), ConfigurationManager.AppSettings["DefaultIndexType"]));

            Current = new ElasticClient(_settings);
            Current.Map<HadoopMetaDataModels>(m => m
                .MapFromAttributes());
            
        }
コード例 #4
0
        public void ConfigureElasticClient()
        {
            //var setting = new ConnectionSettings(new Uri("http://localhost:9200/"),Constants.INDEX_PERSON);
            //setting.EnableTrace();
            //setting.ExposeRawResponse();
            //client = new ElasticClient(setting);

            var node = new Uri(Constants.ELASTIC_SEARCH_URI);

           var settings = new ConnectionSettings(node);
            settings.SetDefaultIndex(Constants.INDEX_PERSON);
            settings.MapDefaultTypeNames(m => m.Add(typeof(Person), (Constants.INDEX_PERSON)));

            client = new ElasticClient(settings);

            client.CreateIndex(ci => ci
                .Index(Constants.INDEX_PERSON)
                .AddMapping<Person>(m => m.MapFromAttributes()));
        }
コード例 #5
0
        private static IElasticClient GetElasticClient(Uri serverUri, bool deleteExistingIndexes = false) {
            var settings = new ConnectionSettings(serverUri).SetDefaultIndex("_all");
            settings.EnableMetrics();
            settings.SetJsonSerializerSettingsModifier(s => {
                s.ContractResolver = new EmptyCollectionElasticContractResolver(settings);
                s.AddModelConverters();
            });
            settings.MapDefaultTypeNames(m => m.Add(typeof(PersistentEvent), "events").Add(typeof(Stack), "stacks"));
            settings.MapDefaultTypeIndices(m => m.Add(typeof(Stack), ElasticSearchRepository<Stack>.StacksIndexName));
            settings.MapDefaultTypeIndices(m => m.Add(typeof(PersistentEvent), ElasticSearchRepository<PersistentEvent>.EventsIndexName + "-*"));
            settings.SetDefaultPropertyNameInferrer(p => p.ToLowerUnderscoredWords());

            var client = new ElasticClient(settings);
            ConfigureMapping(client, deleteExistingIndexes);

            return client;
        }
コード例 #6
0
ファイル: ModelFbDetail.cs プロジェクト: azhard4int/crawlers
        internal bool Update(string id,string time)
        {
            var connectionSettings = new ConnectionSettings(MainVariables.conElasticSearch);
            connectionSettings.SetDefaultIndex("websites");
            connectionSettings.MapDefaultTypeNames(m => m.Add(typeof(websites), "list"));
            var elasticClient = new ElasticClient(connectionSettings);
            var index = elasticClient.Update<websites, object>(u => u
            .Id(id)
            .Doc(new {last_run=DateTime.Now, Scrapping_Time=time })
            .RetryOnConflict(3)
            .Refresh()
            );
            // var index = elasticClient.Update<websites, object>(u => u .IdFrom(obj).Doc(new { website_url = "United States" }).DocAsUpsert());
               // var index = elasticClient.Index(obj);
             //var index=   elasticClient.Update<websites, object>(u => u.Upsert(new websites { _id = "AVFX2hdEYZh0OvPHWO7l", website_url = "http://www.google.com" }));
            if (index.ServerError == null && index.ConnectionStatus.HttpStatusCode.Value < 203) return true;

            else return false;
        }
コード例 #7
0
ファイル: ModelFbDetail.cs プロジェクト: azhard4int/crawlers
        public List<websites> SelectAll()
        {
            List<string> idList = new List<string>();
            List<websites> list = new List<websites>();
            Dictionary<List<websites>, List < string >> dic = new Dictionary<List<websites>, List<string>>();
            var connectionSettings = new ConnectionSettings(MainVariables.conElasticSearch);
            connectionSettings.SetDefaultIndex("websites");
            connectionSettings.MapDefaultTypeNames(m => m.Add(typeof(websites), "list"));
            var elasticClient = new ElasticClient(connectionSettings);
            var searchResults = elasticClient.Search<websites>(q => q.From(0).Size(10000).MatchAll());
            list = searchResults.Documents.ToList();
              foreach(IHit<websites>  hit in searchResults.Hits)
            {
                idList.Add(hit.Id);

            }
              for(int i=0;i<idList.Count;i++)
            {
                list[i]._id = idList[i];
            }

            return list;
        }
コード例 #8
0
ファイル: ModelFbDetail.cs プロジェクト: azhard4int/crawlers
 public bool Delete(string id)
 {
     var connectionSettings = new ConnectionSettings(MainVariables.conElasticSearch);
     connectionSettings.SetDefaultIndex("websites");
     connectionSettings.MapDefaultTypeNames(m => m.Add(typeof(websites), "list"));
     var elasticClient = new ElasticClient(connectionSettings);
     return elasticClient.Delete(new Nest.DeleteRequest("websites", "list", id)).Found;
 }