에서 fscrawler와 NEST로 문서를 검색하는 ElasticSearch 파일 매핑 fscrawler 2.3-SNAPSHOT을 사용하여 "/ tmp/es"폴더에있는 문서를 색인 처리했습니다. 그것은 그들을 매핑 :CsC#
{
"properties" : {
"attachment" : {
"type" : "binary",
"doc_values": false
},
"attributes" : {
"properties" : {
"group" : {
"type" : "keyword"
},
"owner" : {
"type" : "keyword"
}
}
},
"content" : {
"type" : "text"
},
"file" : {
"properties" : {
"content_type" : {
"type" : "keyword"
},
"filename" : {
"type" : "keyword"
},
"extension" : {
"type" : "keyword"
},
"filesize" : {
"type" : "long"
},
"indexed_chars" : {
"type" : "long"
},
"indexing_date" : {
"type" : "date",
"format" : "dateOptionalTime"
},
"last_modified" : {
"type" : "date",
"format" : "dateOptionalTime"
},
"checksum": {
"type": "keyword"
},
"url" : {
"type" : "keyword",
"index" : true
}
}
},
"object" : {
"type" : "object"
},
"meta" : {
"properties" : {
"author" : {
"type" : "text"
},
"date" : {
"type" : "date",
"format" : "dateOptionalTime"
},
"keywords" : {
"type" : "text"
},
"title" : {
"type" : "text"
},
"language" : {
"type" : "keyword"
}
}
},
"path" : {
"properties" : {
"encoded" : {
"type" : "keyword"
},
"real" : {
"type" : "keyword",
"fields": {
"tree": {
"type" : "text",
"analyzer": "fscrawler_path",
"fielddata": true
}
}
},
"root" : {
"type" : "keyword"
},
"virtual" : {
"type" : "keyword",
"fields": {
"tree": {
"type" : "text",
"analyzer": "fscrawler_path",
"fielddata": true
}
}
}
}
}
}
}
지금, 난 내 C# 응용 프로그램에서 NEST을 사용하여 검색 할, 내가 hit.source.content
에 의해 내용를 얻을 수 있었다하지만 ... hit.source.filename
에 의해
코드를 파일 이름을 얻을 수 없다 : 내가 hit.Source.url
및 hit.Source.filename
로 라인을 언급 할 때
var response = elasticClient.Search<documents>(s => s
.Index("tanks")
.Type("doc")
.Query(q => q.QueryString(qs => qs.Query(query))));
if (rtxSearchResult.Text != " ")
{
rtxSearchResult.Text = " ";
foreach (var hit in response.Hits)
{
rtxSearchResult.Text = rtxSearchResult.Text + ("Name: " + hit.Source.fileName.ToString()
+ Environment.NewLine
+ "Content: " + hit.Source.content.ToString()
+ Environment.NewLine
+ "URL: " + hit.Source.url.ToString()
+ Environment.NewLine
+ Environment.NewLine);
}
}
위 NULLException하지만 실행을 던졌습니다.
키바 나는 파일 이름 필드를 file.filename
, URL을 file.url
, 내용을 content
으로 표시합니다.
내 문서 클래스했다 : 파일 이름이 파일 아래에 중첩되기 때문에
, 내가
'문서'형식이 어떻게됩니까? 보여줄 수 있습니까? –