C# Sitecore 7 Lucene.Net.Contrib突出显示搜索结果

C# Sitecore 7 Lucene.Net.Contrib突出显示搜索结果,c#,sitecore,lucene.net,highlighting,sitecore7,C#,Sitecore,Lucene.net,Highlighting,Sitecore7,我试图在搜索结果上突出显示。这是我代码的相关部分 QueryScorer scorer = new QueryScorer(q); Lucene.Net.Search.Highlight.IFormatter formatter = new SimpleHTMLFormatter("<b>", "</b>"); Lucene.Net.Search.Highlight.Highlighter highlighter = new Highlighter(formatter,

我试图在搜索结果上突出显示。这是我代码的相关部分

QueryScorer scorer = new QueryScorer(q);
Lucene.Net.Search.Highlight.IFormatter formatter = new SimpleHTMLFormatter("<b>", "</b>");
Lucene.Net.Search.Highlight.Highlighter highlighter = new Highlighter(formatter, scorer);
highlighter.TextFragmenter = new SimpleFragmenter(800);
Lucene.Net.Util.Version vers = new Lucene.Net.Util.Version();
vers = Lucene.Net.Util.Version.LUCENE_30;
TokenStream stream = new StandardAnalyzer(vers).TokenStream(string.Empty, new StringReader(text));

string s = string.Empty;
try
{
    s = highlighter.GetBestFragments(stream, text, 10, "...");
}
QueryScorer评分器=新的QueryScorer(q);
Lucene.Net.Search.Highlight.IFormatter格式化程序=新的SimpleHTMLFormatter(“,”);
Lucene.Net.Search.Highlight.Highlighter=新的Highlighter(格式化程序、记分器);
highlighter.TextFragmenter=新的SimpleFragmenter(800);
Lucene.Net.Util.Version vers=新的Lucene.Net.Util.Version();
vers=Lucene.Net.Util.Version.Lucene_30;
TokenStream=新的StandardAnalyzer(vers).TokenStream(string.Empty,新的StringReader(text));
string s=string.Empty;
尝试
{
s=highlighter.GetBestFragments(流,文本,10,“…”;
}
在这里,GetBestFragments方法抛出System.MissingMethodException。 我试图用Lucene.net.Contrib替换原来的Lucene.net dll,但是这次,我不知道应该写什么来代替TokenStream。它不存在于Lucene.Net.Contrib.*DLL中

我正在处理现有代码,我需要找出如何重写TokenStream类和GetBestFragments方法


Thanx

问题在于部署,新的兼容Lucene.dll被不兼容的Sitecore7 dll取代

因此,如果lucene.net和lucene.net.contrib dll都被引用,它应该可以工作


不是直接解决我的问题,但这个来源值得再次提及。(关于lucene.dll版本):

当你说用lucene.net.contrib替换lucene.net时。。。我想你还需要这两篇文章的参考资料?之前的一些帖子可能会对你有所帮助:@remco:这也是我发布的。那篇文章中的信息让我想到了这一点point@EngelbertCoder您是否有对lucene.net和lucene.net.contrib的引用…@geedubb我有对这两个dll的引用,但lucene.net是sitecore7附带的旧的不兼容dll。问题在于部署过程,新的lucene.net不知怎么被旧的lucene.net取代了。我已经改正了。现在它工作了!