本文整理汇总了C#中Raven.Database.Indexing.Index.SetExtension方法的典型用法代码示例。如果您正苦于以下问题:C# Index.SetExtension方法的具体用法?C# Index.SetExtension怎么用?C# Index.SetExtension使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Raven.Database.Indexing.Index
的用法示例。
在下文中一共展示了Index.SetExtension方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: LoadExistingSuggestionsExtentions
private void LoadExistingSuggestionsExtentions(string indexName, Index indexImplementation)
{
var suggestionsForIndex = Path.Combine(configuration.IndexStoragePath, "Raven-Suggestions", indexName);
if (!Directory.Exists(suggestionsForIndex))
return;
try
{
foreach (var directory in Directory.GetDirectories(suggestionsForIndex))
{
IndexSearcher searcher;
using (indexImplementation.GetSearcher(out searcher))
{
var key = Path.GetFileName(directory);
var decodedKey = MonoHttpUtility.UrlDecode(key);
var lastIndexOfDash = decodedKey.LastIndexOf('-');
var accuracy = float.Parse(decodedKey.Substring(lastIndexOfDash + 1), CultureInfo.InvariantCulture);
var lastIndexOfDistance = decodedKey.LastIndexOf('-', lastIndexOfDash - 1);
StringDistanceTypes distanceType;
Enum.TryParse(decodedKey.Substring(lastIndexOfDistance + 1, lastIndexOfDash - lastIndexOfDistance - 1),
true, out distanceType);
var field = decodedKey.Substring(0, lastIndexOfDistance);
var extension = new SuggestionQueryIndexExtension(
indexImplementation,
documentDatabase.WorkContext,
Path.Combine(configuration.IndexStoragePath, "Raven-Suggestions", indexName, key),
SuggestionQueryRunner.GetStringDistance(distanceType),
searcher.IndexReader.Directory() is RAMDirectory,
field,
accuracy);
indexImplementation.SetExtension(key, extension);
}
}
}
catch (Exception e)
{
log.WarnException("Could not open suggestions for index " + indexName + ", resetting the index", e);
try
{
IOExtensions.DeleteDirectory(suggestionsForIndex);
}
catch (Exception)
{
// ignore the failure
}
throw;
}
}
示例2: LoadExistingSuggesionsExtentions
private void LoadExistingSuggesionsExtentions(string indexName, Index indexImplementation)
{
var suggestionsForIndex = Path.Combine(configuration.IndexStoragePath, "Raven-Suggestions", indexName);
if (!Directory.Exists(suggestionsForIndex))
return;
foreach (var directory in Directory.GetDirectories(suggestionsForIndex))
{
IndexSearcher searcher;
using (indexImplementation.GetSearcher(out searcher))
{
var key = Path.GetFileName(directory);
var decodedKey = MonoHttpUtility.UrlDecode(key);
var lastIndexOfDash = decodedKey.LastIndexOf('-');
var accuracy = float.Parse(decodedKey.Substring(lastIndexOfDash + 1));
var lastIndexOfDistance = decodedKey.LastIndexOf('-', lastIndexOfDash - 1);
StringDistanceTypes distanceType;
Enum.TryParse(decodedKey.Substring(lastIndexOfDistance + 1, lastIndexOfDash - lastIndexOfDistance - 1),
true, out distanceType);
var field = decodedKey.Substring(0, lastIndexOfDistance);
var extension = new SuggestionQueryIndexExtension(
Path.Combine(configuration.IndexStoragePath, "Raven-Suggestions", indexName, key), searcher.IndexReader,
SuggestionQueryRunner.GetStringDistance(distanceType),
field,
accuracy);
indexImplementation.SetExtension(key, extension);
}
}
}