5
Aşağıdaki kod yürütüldüğünde, bir sorguyu her ayrışımda, stopwords dosyasının dosya sisteminden okunduğunu varsayıyorum. Bunu yapmak yerine, yeni bir tane oluşturmak yerine analizörün aynı örneğini tekrar kullanabilir miyim? İplik güvenli mi?Lucene.NET, StandardAnalyzer, kilit kodları ve iş güvenliği
var stopwordsFile = new FileInfo("C:\MyStopWordsFile.txt");
var analyzer = new StandardAnalyzer(stopwordsFile);
var queryParser = new QueryParser("", analyzer);
var query = queryParser.Parse(stringToParse);
Evet, farkettim. Lucene'nin her sorgu için dosya sisteminden dosya sistemini yeniden yükleyip ayrıştırması bana tuhaf geliyor. Performans nedenlerinden dolayı, aynı zamanda 2 thread aynı anda dosyayı okurken dosya sistemi kilitleme sorunları olabileceğini tahmin ediyorum. Iv ayrıca, dokümanda bulunan notun buna ters düştüğü halde analiz cihazını yeniden kullanmanın mümkün olduğunu yorumlayacağım örnekleri de gördü. –
@Alex, yalnızca okunan dosyalar için açılmışsa ve yalnızca kilitli değilse, kilitleme veya diğer erişim sorunları olmayacaktır. – zihotki
Evet, bu doğru, Lucene'nin böyle yaptığını varsayarsak. Bir not, sınıfın iş parçacığı güvenli olmadığını belirttiğinden, varsayımın yanlış olabileceğini varsayabiliriz. –