首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用荧光笔突出显示短语查询

使用荧光笔突出显示短语查询
EN

Stack Overflow用户
提问于 2009-03-17 06:53:18
回答 2查看 2.9K关注 0票数 1

我使用的是Lucene highlighter.net应用程序接口的this版本。我希望只有当一个短语的所有单词都出现在搜索results..But中时才能突出显示它。例如,如果我输入的搜索字符串是“领先的电信公司”,则so....for仅在结果中突出显示“电信”,如果结果中不包含“领先”和“公司”...

下面是我使用的代码:

代码语言:javascript
复制
SimpleHTMLFormatter htmlFormatter = new SimpleHTMLFormatter();

var appData = (string)AppDomain.CurrentDomain.GetData("DataDirectory");
var folderpath = System.IO.Path.Combine(appData, "MyFolder");

indexReader = IndexReader.Open(folderpath);

Highlighter highlighter = new Highlighter(htmlFormatter, new QueryScorer(finalQuery.Rewrite(indexReader)));

highlighter.SetTextFragmenter(new SimpleFragmenter(800));

int maxNumFragmentsRequired = 5;

string highlightedText = string.Empty;

TokenStream tokenStream = this._analyzer.TokenStream(fieldName, new System.IO.StringReader(fieldText));

highlightedText = highlighter.GetBestFragments(tokenStream, fieldText, maxNumFragmentsRequired, "...");

return highlightedText;

请帮帮我!

EN

回答 2

Stack Overflow用户

发布于 2009-03-17 16:20:19

看看highlighters unit test --你的用例可能就在其中。

票数 1
EN

Stack Overflow用户

发布于 2009-03-17 21:21:53

请查看this question的答案。就像现在一样,荧光笔不能理解短语查询。它只使用QueryTermExtractor并获取要突出显示的单词列表。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/653229

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档