Lucene.Net高亮显示不工作

Lucene.Net高亮显示不工作,.net,dll,reference,lucene,lucene.net,.net,Dll,Reference,Lucene,Lucene.net,我试图突出显示搜索结果中的单词。 我正在使用Umbraco和Lucene.Net 我用NuGet安装了Lucene.Net Contrib,其版本为3.0.3.0 在安装之前,已安装版本2.9.4.1。 安装后,Lucene.Net.Contrib.Highlighter也添加到“参考”中 但我不能声明它使用Lucene.Net.Contrib.Highlighter或其他方式。 因此,在一些生产线中,我们的生产线并没有发挥应有的作用 var highlighter = Highlighter(

我试图突出显示搜索结果中的单词。
我正在使用Umbraco和Lucene.Net
我用NuGet安装了Lucene.Net Contrib,其版本为3.0.3.0
在安装之前,已安装版本2.9.4.1。
安装后,Lucene.Net.Contrib.Highlighter也添加到“参考”中 但我不能声明它使用Lucene.Net.Contrib.Highlighter或其他方式。 因此,在一些生产线中,我们的生产线并没有发挥应有的作用

var highlighter = Highlighter(HighlightFormatter, FragmentScorer(searchQuery, highlightField,  searcher));

private QueryScorer FragmentScorer(string searchQuery, string highlightField, IndexSearcher searcher)
{
    Query query =
        GetLuceneQueryObject(searchQuery, highlightField).Rewrite(searcher.GetIndexReader());
    return new QueryScorer(query);
}

HighlightFormatter = new SimpleHTMLFormatter("<em><strong>", "</strong></em> ");
var highlighter=highlighter(HighlightFormatter、FragmentScorer(searchQuery、highlightField、searcher));
专用QueryScorer FragmentScorer(字符串搜索查询、字符串高亮字段、索引搜索器搜索器)
{
查询=
GetLuceneQueryObject(searchQuery,highlightField).Rewrite(searcher.GetIndexReader());
返回新的QueryScore(查询);
}
HighlightFormatter=新的SimpleHTMLFormatter(“”,“”);
对于Highlighter、SimpleHTMLFormatter和QueryScore,
我发现“…找不到(您是否缺少使用…”错误


如何解决此问题?

在NuGet包Lucene.Net.Contrib的2.9.4.1版中,三个类
Highlighter
SimpleHTMLFormatter
QueryScorer
在命名空间
Lucene.Net.Highlight
中声明

在Lucene.Net.Contrib的3.0.3版中,类被移动到名称空间
Lucene.Net.Search.Highlight

您应该使用Lucene.Net.Search.Highlight包含
。还要检查项目中的引用是否指向NuGet软件包版本3.0.3中包含的DLL。检查引用的路径-它应该是

   <base>\packages\Lucene.Net.Contrib.3.0.3\lib\net40\Lucene.Net.Contrib.Highlighter.dll
\packages\Lucene.Net.Contrib.3.0.3\lib\net40\Lucene.Net.Contrib.Highlighter.dll
而不是

   <base>\packages\Lucene.Net.Contrib.2.9.4.1\lib\net40\Lucene.Net.Contrib.Highlighter.dll
\packages\Lucene.Net.Contrib.2.9.4.1\lib\net40\Lucene.Net.Contrib.Highlighter.dll

Hi Daniel,我应该检查哪个路径来查找\packages\Lucene.Net.Contrib.3.0.3\lib\net40\Lucene.Net.Contrib.Highlighter.dll我找不到引用。@user1451549:您应该在Visual Studio中的“References”下找到“Lucene.Net.Contrib.Highlighter”。右键单击并检查“Path”的值。我得到了Lucene.Net highlight项目版本2.9.4.1,并进行了编译。创建了Lucene.Net.Contrib.Highlighter.dll,我使用了它。这个问题已经解决了,但我仍然不知道有没有其他方法可以解决它。我还需要Lucene.Net在这个版本中突出显示。您可以共享DLL文件吗?:)