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

在有多个字符串的字段中搜索字母数字空格分隔的字符串(Lucene)

艾哲
2023-03-14

我有一个包含以下两个字段的Lucene 3.6.0索引(每个字段下面都有示例数据):

company
-------
Tesla Car Works
Family Auto Body

codes
-----
CHP-13724 CHP-194561
RPS-204978 RPS-204979 CHP-194567

codes字段由多个代码字符串组成,例如“CHP-13724”或“RPS-204979”。

所以:在codes字段中,由于某种原因,它无法找到空格分隔的字符串,除非它是第一个字符串,并且在查询中使用了通配符,但是在company字段中,无论字符串出现在哪里,并且不使用通配符,它都可以找到。

编辑:codes字段使用not_analysis进行索引。(因此,该字段包含一个术语,一个字符串,它由一系列用空格分隔的代码组成。)

共有1个答案

姜乐家
2023-03-14

您是否尝试过使用WhitespaceTokenizer?它在空格上分裂,这是你需要的。

 类似资料:
  • 我有一个字符串,例如,AX3YM67。我想把字符串分离为Java中的A,X3,Y,M67。我怎么才能拿到这个?下面的代码是我尝试过的。

  • 如何将过滤器列表拆分为单个过滤器元件?split2String在线程“main”java.util.regex中导致:异常。PatternSyntaxException:索引10或(|和)附近的未闭合组(

  • 本文向大家介绍在Java中搜索字符串中的字符。,包括了在Java中搜索字符串中的字符。的使用技巧和注意事项,需要的朋友参考一下 您可以使用String类的方法在字符串中搜索特定字母。此方法返回字符串中单词的位置索引(如果找到)。否则返回-1。 示例 输出结果

  • 你好,我对正则表达式是新手,我发现自己在这个问题上卡住了。 我有一个8字符字符串,以前已经过滤为只有一个字母数字,所以这个字符串将只包含数字和字母。我要做的是在字符串中的任何地方找到前两个连续数字,一旦找到,确保两个连续数字之后的任何字符都是alpha字符a-z,如果不匹配,只返回false;到目前为止我 希望这是清楚的 再次感谢您的帮助

  • 问题内容: 我尝试使用此功能,但没有成功- 问题答案: 使用。 注意:删除了空格,因为通常不将其视为字母数字。

  • 问题内容: 我有一个字符串,我想用一个星号替换任何不是标准字符或数字的字符,例如(az或0-9)。例如,“ h ^&ell`。,| ow] {+ orld”被替换为“ h * ell * o * w * orld”。请注意,多个字符(例如“ ^&”)将替换为一个星号。我将如何去做呢? 问题答案: 正则表达式可以解救! 例: