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

Lucene3.6和特殊字符的自定义标记器/模拟器

荀辰钊
2023-03-14

我在我的项目中使用Lucene3.6和StandardAnalyzer进行索引和搜索。这样的模拟程序按所有特殊字符(@,#,-,_)拆分搜索查询字符串。

谢了!

共有1个答案

严亮
2023-03-14

StandardAnalyzer使用StandardTokenizer定义语法规则(分词符等)。后者的文件说:

许多应用程序都有特定的标记器需求。如果此标记器不适合您的应用程序,请考虑将此源代码目录复制到您的项目中,并维护您自己的基于语法的标记器。

快速浏览StandardTokenizer代码,我可以猜测从token_types中删除可能就足够了。也可能不是:-)

是的,您需要重新索引。

 类似资料:
  • 正如我们所看到的,一个反斜杠 "\" 是用来表示匹配字符类的。所以它是一个特殊字符。 还存在其它的特殊字符,这些字符在正则表达式中有特殊的含义。它们可以被用来做更加强大的搜索。 这里是包含所有特殊字符的列表:[ \ ^ $ . | ? * + ( )。 现在并不需要尝试去记住它们 —— 当我们分别处理其中的每一个时,你自然而然就会记住它们。 转义 如果要把特殊字符作为常规字符来使用,只需要在它前面

  • 问题内容: 我想电视机1 ® 2的outputText: 什么不对?我大写。 问题答案: 您可以选择以下之一 在您最初的建议中,您放错了位置,应该在 您也可以完全删除(但您的(R)不会很小) 最后,您可以直接使用它而无需转义

  • 我正在使用Apache FOP,并且已经看到:XSL-在XSL:when测试期间转义撇号,用于在XSL:when测试期间转义字符。 但是,我在使用xsl:模板匹配执行相同的等价测试时遇到问题 示例XML 样品XSL PDF格式输出: 当测试成功而模板匹配失败时,xsl: 如果有人能给我指出正确的方向或者告诉我我做错了什么,我会非常感激的。 非常感谢

  • 本文向大家介绍Solr通过特殊字符分词实现自定义分词器详解,包括了Solr通过特殊字符分词实现自定义分词器详解的使用技巧和注意事项,需要的朋友参考一下 前言 我们在对英文句子分词的时候,一般采用采用的分词器是WhiteSpaceTokenizerFactory,有一次因业务要求,需要根据某一个特殊字符(以逗号分词,以竖线分词)分词。感觉这种需求可能与WhiteSpaceTokenizerFacto

  • 我有一个标记化的文本(拆分的句子和拆分的单词)。并将基于此结构创建Apache Lucene索引。什么是最简单的方法来扩展或替换一个standart标记器使用自定义标记。我正在查看StandardTokenizerImpl,但似乎非常复杂。可能还有别的办法吗?

  • 问题内容: 我正在为法国客户做一些工作,因此需要处理带重音符号的字符。但是我遇到了很多困难,希望解决方案很简单,并且有人可以向我指出。 字符串: 转换为: 请注意,带重音符号的字符缺失- 在 ê* 后面紧跟着 t ,在 é 后面紧跟着 m 。 * 我尝试使用StringEscapeUtils来成功转义某些字符,例如 ă 。我还构建了自己的转义功能,该功能产生相同的结果( ă 可以工作, ê 不会)