当前位置: 首页 > 知识库问答 >
问题:

Lucene查询结果:获取查询找到的返回文档中的单词

宫元徽
2023-03-14

为了在Lucene查询返回的文档中显示突出显示的匹配词,Lucene搜索结果可能包含用于将文档作为匹配我的请求返回的词。

例如:

>

  • Lucene查询:"狗猫"

    结果:[“狗很好”,“狗和猫是朋友”]

    如何通过Lucene实现这一点?我无法手动处理猫或狗,也无法处理请求词和返回词之间的任何差异。

  • 共有1个答案

    包丁雨
    2023-03-14

    使用Lucene的荧光笔。比如:

    //By default, this formatter will wrap highlights with <b>, but that is configurable.
    Formatter formatter = new SimpleHTMLFormatter(); 
    QueryScorer scorer = new QueryScorer(query);
    Highlighter highlighter = new Highlighter(formatter, queryScorer);
    //You can set a fragmenter as well, by default it will split into fragments 100 chars in size, using SimpleFragmenter.
    
    String highlightedSnippet = highlighter.getBestFragment(myAnalyzer, fieldName, fieldContent);
    
     类似资料:
    • 我试图使用Lucene索引进行查询,但得到的结果为空,日志中出现以下错误, 我正在使用RDB DocumentStore,我已经检查了索引和节点是在节点表中创建的。 任何人都可以分享一些关于如何创建Lucene索引的示例代码吗?

    • 我有一个索引(名称:“index1”)指向ElasticSearch中的多个文档。 文档的格式(json)是- 下面是映射- 我在ES查询中哪里做错了?

    • 问题内容: 我需要在node.js中用猫鼬返回查询的结果。 如何返回值以将值设置为变量? 我需要做的是: 为了有: 非常感谢您的回复 。 我还有另一个问题。 如何使用find或findOne在查询运算符中传递变量?喜欢 : 问题答案: 有几种方法可以实现您想要的。 1.使用猫鼬查询 在这种策略中,您的函数返回一个Mongoose查询,您以后可以使用它来调用该方法并使用它来获取结果。 然后,您可以简

    • 我正在玩mongob,并将一些测试数据{name:"david"}输入到“用户”集合中。我通过键入mongoshell验证了数据在MongoDB中 结果: 在 node.js 脚本中,使用以下代码: 不返回任何结果 我没有发现任何错误,也没有错误。请告知

    • Firebase查询返回此查询的值 该项由model类捕获 但是,返回null

    • 问题内容: 如何获取使用SQL Server的SQL查询返回的列数? 例如,如果我有如下查询: 它应该返回表A1中的总列数+表A2中的总列数。但是查询可能会更复杂。 问题答案: 这是一种方法: 您可以通过创建视图来执行类似的操作。