0
Я хочу использовать MinHash плагин для поиска изображений в NEST Elasticsearch.net. Как использовать плагин minhash в гнезде?Как использовать ElasticSearch Плагин MinHash в NEST
Я хочу использовать MinHash плагин для поиска изображений в NEST Elasticsearch.net. Как использовать плагин minhash в гнезде?Как использовать ElasticSearch Плагин MinHash в NEST
Создание индекса с следующим отображением:
elasticClient.CreateIndex(descriptor => descriptor
.Index("my_index")
.Analysis(
analysis => analysis.Analyzers(bases => bases.Add("minhash_analyzer", new CustomAnalyzer
{
Tokenizer = "standard",
Filter = new[] {"minhash"}
})))
.AddMapping<IndexElement>(
mappingDescriptor =>
mappingDescriptor
.Properties(p => p
.String(s => s.Name(element => element.Message).CopyTo("minhashvalue"))
.Custom(new MiniHashMapping()))));
class MiniHashMapping : BinaryMapping
{
[JsonProperty("minhash_analyzer")]
public string Analyzer { get { return "minhash_analyzer"; } }
public MiniHashMapping()
{
Type = "minhash";
Name = "minhashvalue";
}
}
class IndexElement
{
public string Message { get; set; }
}
Индекс образца документа:
elasticClient.Index(new IndexElement
{
Message = "Fess is Java based full text search server provided as OSS product."
}, descriptor => descriptor.Index("my_index"));
Расскажите elasticsearch включать поля в ответ:
var searchResponse = elasticClient.Search<IndexElement>(s => s.Query(q => q.MatchAll()).Fields("*"));
Вы можете получить хэш-значение из searchResponse.Hits[..].Fields
или searchResponse.FieldSelections
.
Надеюсь, это поможет.
Rob: - Спасибо. Это решило мою проблему. Я хотел бы узнать еще одну вещь. Можно ли хранить ngram для minhash_value.Если да, пожалуйста, дайте мне знать – USER007