如何使用Lucene实现拼音搜索?

2024-03-30

我想使用 Lucene 6.1.0.、Soundex 或任何适合葡萄牙语的算法来实现语音搜索。我在互联网上发现了许多不完整的示例,教如何实现自定义分词器、分析器,但似乎这些示例上使用的抽象类在 6.1.0 版本中并不相同。谁能指出我在哪里可以找到 Lucene 的好文档,而不仅仅是 java 文档,而没有任何进一步的文档来教导如何将这些东西组合在一起?

提前致谢。


The 分析仪文档 http://lucene.apache.org/core/6_1_0/core/org/apache/lucene/analysis/Analyzer.html展示如何创建分析器。

对于语音分析,您应该查看org.apache.lucene.analysis.phonetic https://lucene.apache.org/core/6_1_0/analyzers-phonetic/index.html包(您需要将“lucene-analyzers-phonetic-6.1.0.jar”添加到构建路径,以及 Apache 的“commons-codec-1.10.jar”,您可以get here http://commons.apache.org/proper/commons-codec/download_codec.cgi).

然后你可以设置你的分析器,例如:

Analyzer analyzer = new Analyzer() {
    @Override
    protected TokenStreamComponents createComponents(String fieldName) {
        Tokenizer tokenizer = new StandardTokenizer();
        TokenStream stream = new DoubleMetaphoneFilter(tokenizer, 6, false);
        return new TokenStreamComponents(tokenizer, stream);
    }
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用Lucene实现拼音搜索? 的相关文章

  • 如何制作行业标准的桌面Java应用程序? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 我们可以实例化一个抽象类吗?

    在一次采访中 有人问我 我们是否可以实例化一个抽象类 我的回答是 不 我们不能 但是 面试官告诉我 错了 我们可以 我对此争论了一下 然后他告诉我自己在家尝试一下 abstract class my public void mymethod
  • “此 GPIO 引脚已存在:”第二次出现 GPIO 1 异常

    我正在 Raspberry pi 和 java 上工作 通过使用 pi4j 使 LED 闪烁 一切都已清除并且工作正常 LED 按照代码闪烁 但是当我第二次运行时 它会导致以下错误 我已经搜索了很多有很多相同的问题没有明确的答案如何解决 任
  • 行类型 Spark 数据集的编码器

    我想写一个编码器Row https spark apache org docs 2 0 0 api java index html org apache spark sql Row html输入 DataSet 用于我正在执行的地图操作 本
  • 为什么这个基于java配置的Spring应用程序不能正常工作

    我最近开始了一个使用 Spring 框架的项目 目标是在没有 XML 配置文件 只有 Java 代码的情况下开发它 目前 我将以下文件添加到我的项目中 WebAppConfig java EnableWebMvc ComponentScan
  • Chrome 崩溃:尝试在空对象引用上调用虚拟方法“long android.view.accessibility.AccessibilityNodeInfo.getSourceNodeId()”

    在处理网页的搜索表单 JavaScript CSS HTML 时 每次单击网络搜索图标并且输入字段获得焦点时 Chrome 浏览器 Android 10 都会崩溃 崩溃报告中的调试堆栈跟踪显示 Attempt to invoke virtu
  • 在 Java 中对多语言环境字符串进行排序

    我正在尝试按字符串字段 国家 地区 对对象列表进行排序 每个国家 地区都使用其母语 阿根廷 澳大利亚 奥地利 例如 我想要做的是让 出现在 A 国家之后 因为字母 对应于拉丁语 B 我正在尝试使用默认的 Collat er 但非拉丁名称仍然
  • 如何仅使用命令行运行 Maven 创建的 jar 文件

    我需要一些帮助来尝试使用命令行运行以下 Maven 项目 https github com sarxos webcam capture https github com sarxos webcam capture webcam captur
  • Spring WebFlux:在 Spring Data MongoDB 反应存储库中的 null 值时发出异常?

    我正在尝试学习如何使用 MongoDB 反应存储库spring boot 2 0 0 M2 但我担心我没有按预期做事 这是我的方法之一 试图找到一个User通过他们的电子邮件 但如果没有 该方法应该抛出异常 Override public
  • 在 Graal.js 中使用 java 类

    使用 Graal js 如何将 java 类导入到 JS 脚本中 以下代码适用于 Nashorn JJS 但不适用于 Graal js 因为没有Java type 在graal中 我需要在某个时候调用truffle吗 var ArrayLi
  • Java:字符串连接和变量替换的最佳实践[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 在 Java 中连接字符串和添加变量值的方法有太多 我应该如何选择一个 优点 缺点 最佳用例等 MessageFormat forma
  • 使用电子邮件、用户名和密码进行 Firebase 身份验证

    我想知道是否可以使用电子邮件和用户 ID 密码登录 我有一个项目 我希望用户添加一个唯一的号码 实际上是我们公司提供的工作识别号码 以便能够签名参与该计划的人员将继续留在公司就业 即使电子邮件和密码正确但用户 ID 错误 我也需要 fire
  • Spring Boot 中的外部化配置,多个应用程序在同一容器中运行

    我正在构建多个 Spring Boot 应用程序 这些应用程序将部署在同一个 servlet 容器上 但我很难让 Spring Boot 按照我想要的方式使用外部化配置文件 而不是像框架想要的那样 情况 多个 Spring Boot 应用程
  • Java 有现成的时钟同步解决方案吗?

    我们有一个大型的高性能软件系统 它由多个交互的 Java 进程 不是 EJB 组成 每个进程可以在同一台机器上 也可以在不同的机器上 某些事件在一个进程中生成 然后以不同的方式传播到其他进程以进行进一步处理等 出于基准测试的目的 我们需要创
  • 我们还需要迭代器设计模式吗? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 使用 JavaFX 和 Maven 将模块描述符添加到库中[重复]

    这个问题在这里已经有答案了 我需要使用反思 https github com ronmamo reflections在一个带有 JavaFX 的 Maven 项目中 我想使用jlink捆绑一个最小的 JRE 问题是我运行时出现以下错误mvn
  • 请解释*贪婪量词的工作原理

    Pattern ptn Pattern compile a Matcher mtch ptn matcher bbaac if mtch find System out println mtch group 输出 不打印任何内容 Patte
  • 设置滚动条粗细

    有没有办法调整滚动条的粗细JScrollPane 默认值有点笨拙 一个快速但又肮脏的解决方案是将宽度 高度明确设置为例如10 像素通过 jScrollPane getVerticalScrollBar setPreferredSize ne
  • Jsplitpane 自动调整大小

    我有一个 JSPlitPane 它们之间有 50 的分隔线 这工作正常 但是 当我在右侧添加一些 JLabels 时 jsplitpane 会忽略我的 50 分隔符 左侧窗格会增加其大小 并会挤压右侧窗格 为什么会发生这种情况以及如何解决
  • Struts2 中有多种结果类型?

    我有一个使用 Tiles 的 Struts2 应用程序 如何在操作映射中获取多种结果类型 因为我需要将de输出设置为JSON数据 并且同时Tiles 我努力了

随机推荐

  • 使用 perl 格式化字符串和日期

    我想转换 使用perl 05 26 2013 06 09 47 to 26 05 2013 06 09 47 另外我怎样才能将上面的日期和时间更改为 GMT 日期和时间 use DateTime Format Strptime qw my
  • 用户查找加密数据库字段

    本质上 我有一个保存用户数据的表 所有这些数据都是 AES 加密的 在 BLOB 字段中 这意味着这些字段都不能被索引 这将减慢该表上的任何查询 特别是因为在进行任何匹配之前整个表需要解密 WHERE AES DECRYPT user em
  • 从树视图 tkinter 复制项目

    我的一个 tkinter 应用程序中有一个树视图 我想知道是否真的可以通过用户右键单击来复制选定的字段 如果没有 是否有任何其他小部件允许用户复制 GUI 窗口中显示的选定字段 Code log Toplevel root log titl
  • javascript向函数添加属性

    假设我们有一个函数 function Rabbit console log shiv 现在 无需创建该函数的对象 我就可以分配该对象的属性 Rabbit bark function line console log name is line
  • 使用 Iso_Fortran_Env 设置函数的 Kind 值

    如何使用 ISO Fortran Env 的内在函数以 Fortran 2008 惯用的方式设置函数的返回 KIND 值 通常在主程序中 我可以使用 ISO Fortran 内在函数 如下所示 program name here use i
  • jQuery 事件适用于 Firefox,不适用于 Chrome

    我在代码中注册了一些点击事件 它们在 Firefox Windows 和 Mac 中正常运行 但在 Chrome 中无法执行 尝试过 Windows 和 Mac beta JavaScript 的目的是根据 select 元素的值显示正确的
  • 检查一个 Int 值是否大于或等于另一个 Int 值?价值? [复制]

    这个问题在这里已经有答案了 如何比较两个 Int 值 所以 我有这个 let limit Int let current Int Int self stringValue 但是当我尝试比较它们 大于或等于 时 if current gt s
  • 如何使 JAWS 等屏幕阅读器可以访问“正在加载”图标?

    所以 HTML 代码是这样的 div style display none img src PT LOADING gif alt Processing please wait title div 即使提供了 ALT 文本 在更改样式以显示图
  • 函数 while 循环中的 return 是如何处理的?

    我有一个函数 该函数内部有一个 while 循环 当我尝试使用 IF 语句在 while 循环内设置非局部变量 然后退出整个函数时 突然该变量不再设置 function EXAMPLE cat test txt while read LIN
  • insertRow 与appendChild

    向表中添加行时首选哪种方法 var tr tbl insertRow 1 or var tr document createElement tr tbl appendChild tr insertRow会好得多 这是支持的 http www
  • 为什么此 GeoTool 片段不生成可查看的 shapefile?

    我正在创建一个简单的程序 它从 csv 文件读取值并根据这些值创建 shp 文件 这是一个轻微的修改这个例子 http docs geotools org latest tutorials feature csv2shp html 形状文件
  • JUL 适配器不适用于 Jersey

    我正在尝试使用七月适配器将 Java Util Logging 委托给 Log4j2 更准确地说 任何使用 JUL 生成日志的第三方库都应该委托给 Log4j2 作为一个简单的练习 我创建了一个使用库的独立应用程序 我创建这个库是为了测试目
  • Steam API 所有游戏

    我一直在阅读论坛并尝试 Steam API 我正在寻找提供所有 Steam 游戏的 API 我发现提供所有 SteamApp 的 API 以及提供应用程序信息的 Steam 商店 API 我正在寻找类型 游戏 但为此 我需要为每个 Stea
  • 如何在两个微服务之间共享 REST 服务实体?

    我使用 java 创建了两个微服务 我需要从服务 A 到服务 B 进行 REST api 调用 发送的数据将采用 JSON 格式 使用 jax rs 我需要在这两个服务中创建实体类 由于两个项目中的实体类相同 我可以吗 创建一个通用 jar
  • ES 2017:异步函数 vs AsyncFunction(object) vs 异步函数表达式

    我刚刚读到async functions并遇到了 ES2017 的一些类似功能 它造成了很多混乱 我只想问 有什么区别async function AsyncFunction 用于创建异步函数 和异步函数表达式 我认为这只是另一个异步函数
  • Scrapy 遭遇 DEBUG:爬行(400)

    我正在尝试使用 Scrapy 抓取页面 https zhuanlan zhihu com wangzhenotes 我运行这个命令 scrapy shell https zhuanlan zhihu com wangzhenotes and
  • python中的{}和[]有什么区别?

    有什么区别columnNames and columnNames 在Python中 我怎样才能迭代每一个 使用 for value in columnNames OR for idx o val o in enumerate columnN
  • 具有多个类约束的 Haskell 类型签名

    我怎样才能有多个类约束 所以如果A is an Eq and B is a Num 我可以说 f Eq a gt a gt b or f Num b gt a gt b 那么 我怎样才能拥有Eq a gt and Num b gt 同时 f
  • 如何自定义jquery滑块范围的颜色?

    使用 jquery 滑块时 我想将所选范围的默认颜色从灰色更改为蓝色 document ready function var slider slider slider range min min 0 max 100 change funct
  • 如何使用Lucene实现拼音搜索?

    我想使用 Lucene 6 1 0 Soundex 或任何适合葡萄牙语的算法来实现语音搜索 我在互联网上发现了许多不完整的示例 教如何实现自定义分词器 分析器 但似乎这些示例上使用的抽象类在 6 1 0 版本中并不相同 谁能指出我在哪里可以