我正在使用SolrNet 1.0.9和SOLR 7.4。 尝试索引包含文件内容和自定义元数据字段(来自数据库)的完整文档,而实际文件位于磁盘上
问题:当我尝试使用ExtractOnly = true索引文档时,并使用类对象添加自定义字段
ExtractResponse response =
solr.Extract(
new ExtractParameters(fileStream, fileName)
{
ExtractFormat = ExtractFormat.Text,
ExtractOnly = true,
StreamType = mimeType
});
string content = response.Content;
if (!string.IsNullOrEmpty(content))
{
SolrDocument solrDoc = new SolrDocument();
List<string> contentList = new List<string>();
contentList.Add(content);
solrDoc.fileContent = contentList;
solrDoc.id = fileName;
solrDoc.fileName = fileName;
solrDoc.fileType = Path.GetExtension(fileName);
// More custom field will be added from database in this object
solr.Add(solrDoc);
}
solr.Commit();
在此代码之后,solr搜索不起作用,因为我使用了ExtractOnly = false,并且没有索引完整的文档。
当我使用ExtractOnly = true时,solr会为文档建立索引,但是在响应对象中它具有一些自动生成的动态字段,而solr搜索效果很好。
在我使用ExtractOnly = true获取文件内容并添加自定义元数据字段之后,如何使solr搜索完美运行?