Lucene 中的 WordnetSynonymParser

2023-12-30

我是 Lucene 的新手,我正在尝试使用 WordnetSynonymParser 来使用 wordnet 同义词序言来扩展查询。这是我到目前为止所拥有的:

public class CustomAnalyzer extends Analyzer {

@Override
protected TokenStreamComponents createComponents(String fieldName, Reader reader){
    // TODO Auto-generated method stub
    Tokenizer source = new ClassicTokenizer(Version.LUCENE_47, reader);
    TokenStream filter = new StandardFilter(Version.LUCENE_47, source);
    filter = new LowerCaseFilter(Version.LUCENE_47,filter);
    SynonymMap mySynonymMap = null;
    try {
        mySynonymMap = buildSynonym();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    filter = new SynonymFilter(filter, mySynonymMap, false);        
    return new TokenStreamComponents(source, filter);
}

private SynonymMap buildSynonym() throws IOException
{
    File file = new File("wn/wn_s.pl");
    InputStream stream = new FileInputStream(file);
    Reader rulesReader = new InputStreamReader(stream); 
    SynonymMap.Builder parser = null;
    parser = new WordnetSynonymParser(true, true, new StandardAnalyzer(Version.LUCENE_47));
    ((WordnetSynonymParser) parser).add(rulesReader);         
    SynonymMap synonymMap = parser.build();
    return synonymMap;
}
}

我收到错误“SynonymMap.Builder 类型中的方法 add(CharsRef, CharsRef, boolean) 不适用于参数 (Reader)”

但是,WordnetSynonymParser 的文档需要 add 函数的 Reader 参数。

我在这里做错了什么? 任何帮助表示赞赏。


如果您看到文档说明WordNetSynonymParser有一个方法add(Reader),您可能正在查看旧版本的文档。 4.7 的源代码中肯定没有该方法。从版本 4.6.0 开始,您正在寻找的方法是WordnetSynonymParser.parse(Reader) http://lucene.apache.org/core/4_6_0/analyzers-common/org/apache/lucene/analysis/synonym/WordnetSynonymParser.html#parse%28java.io.Reader%29.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Lucene 中的 WordnetSynonymParser 的相关文章

随机推荐

  • Sybase 令牌数据流长度不正确

    将二进制文件保存到图像列时出现以下错误 org springframework jdbc UncategorizedSQLException PreparedStatementCallback SQL 的未分类 SQLException 插
  • 如何将 DataSnap 客户端连接定向到各种 DS Server?

    我有一个相当大的 DataSnap 服务器 它将 24 7 运行 它将替代当前运行的 MIDAS COM 服务器 现在我面临的问题是如何更新该服务器而不必强制断开所有连接的客户端 使用当前的 midas 服务器 顺便说一下 没有大量的流量可
  • 将某些工作表从 Excel 工作簿导出为 PDF

    我正在编写一个 VBA 代码 将 Excel 中的一些工作表导出到同一个 PDF 我的 Excel 文件中有几个图表工作表 每个图表工作表的名称都以 name Chart 结尾 我想将名称以图表结尾的所有工作表导出到一个 PDF 文件 这是
  • 在 C/C++ 中获取大随机数

    标准rand 函数给出的数字对我来说不够大 我需要unsigned long long那些 我们如何获得非常大的随机数 我尝试修改一个简单的哈希函数 但它太big 运行时间太长 并且永远不会产生小于 1e5 的数字 你可以轻松地做到这一点s
  • Android 自定义 Widget 膨胀异常

    XML
  • 自定义 li 列表样式,带有很棒的字体图标

    我想知道是否可以利用 font awesome 或任何其他标志性字体 类来创建自定义 li 列表样式类型 我目前正在使用 jQuery 来执行此操作 即 li myClass prepend i class i 然而 当 li li 文本环
  • POST Restful API 的响应代码 400 或 403

    我正在设计一个 POST Restful API 在这种情况下 我必须根据请求正文中提供的元素之一来授权用户 例如 division 1 name MyName address no 123 street abc pincode 22211
  • Minimongo 尚不支持投影中的 $ 运算符

    我有这个文件 username torayeff profile friends id aSD4wmMEsFnYLcvmP state active id ShFTXxuQLAxWCh4cq state active id EQjoKMNB
  • 如何在android的WebView中显示滚动条

    是否可以在 android 的 WebView 中显示可滚动 html 元素的滚动条 怎么做 in your onCreate 方法 试试这个 Override public void onCreate Bundle savedInstan
  • ASP.NET Web API JSON 输出中没有时间的日期

    有没有一种简单的方法来配置 JSON NET 以便some DateTime字段将被格式化 没有时间和其他DateTime字段仍会随时间格式化吗 例子 firstName John lastName Doe birthday 1965 09
  • vbscript 调试器[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有一个可以在开发中使用的 vbscript 但不能在服务器上使用 我想调试这个 但我不想在服务器上安
  • 当我们使用rest api进行调用时,我们在该url参数上使用什么twiml

    我正在使用其余 api 创建呼叫 try Initiate a new outbound call call this gt client gt calls gt create to call num2 Step 5 Change the
  • 是否有可能伪造 Windows 控制台 api?

    我用 C 编写了一个 ssh 服务器 我认为将 powershell 作为 shell 连接起来会很漂亮 我尝试了两种方法来使其正常工作 但这两种方法都远非完美 这是我尝试过的 启动 powershell exe 并将其重定向到 std i
  • Elasticsearch批量索引超时错误!错误:30000 毫秒后请求超时

    最近 我想将旧的指数数据滚动到新的月度指数 存储的数据从2015 07开始至今 每个月几乎有30 000条记录 跟着scroll and bulk中提供的方法2 2 API https www elastic co guide en ela
  • 在 PHP 中处理大量数据

    To use 模幂 http en wikipedia org wiki Modular exponentiation正如您在使用时所需要的费马素性测试 http en wikipedia org wiki Fermat primality
  • 如何在 LARAVEL 5.2 中将数据存储到数据库

    我是 Laravel 的初学者 当我想将数据存储到数据库时遇到问题 当视图上的名称与数据库上的字段名称不同时 数据未保存在数据库中 但当视图上的输入名称与数据库上的字段名称相同时 数据已正确存储 例子 这是视图 div class form
  • 在 C 中实现 ceil()

    我想实现我自己的ceil in C 在库中搜索源代码并找到 但似乎很难理解 我想要干净优雅的代码 我也在SO上搜索 找到了一些答案here https stackoverflow com questions 2796639 implemen
  • 将信息从一层传递到另一层

    抽象视图 我想将信息从一层传递到另一层 注意 当该主题有更好的标题时请告诉我 我有一个 ViewModel 它与我的视图和服务层进行通信 我与持久层有服务层通信 假设我有以下课程 public class EmployeeViewModel
  • java序列化导致utfdataformatException

    我正在尝试将多个对象序列化到一个文件中 特别是 当我尝试写时 public void execute PipelineContext context throws Exception FileOutputStream fos new Fil
  • Lucene 中的 WordnetSynonymParser

    我是 Lucene 的新手 我正在尝试使用 WordnetSynonymParser 来使用 wordnet 同义词序言来扩展查询 这是我到目前为止所拥有的 public class CustomAnalyzer extends Analy