Java 在Lucene中索引正则表达式并搜索输入

Java 在Lucene中索引正则表达式并搜索输入,java,regex,lucene,hibernate-search,Java,Regex,Lucene,Hibernate Search,我已经在Lucene中为正则表达式编制了索引,是否有可能生成Lucene查询来使用标准Analyzer在索引正则表达式上搜索我的给定输入 org.apache.lucene.search.Query luceneQuery50=queryBuilder4.keyword().wildcard().onField(“RegularExpression”).matching(“9876654”).createQuery() 字段“RegularExpression”存储为字符串对象 编辑 Hiber

我已经在Lucene中为正则表达式编制了索引,是否有可能生成Lucene查询来使用标准Analyzer在索引正则表达式上搜索我的给定输入

org.apache.lucene.search.Query luceneQuery50=queryBuilder4.keyword().wildcard().onField(“RegularExpression”).matching(“9876654”).createQuery()

字段“RegularExpression”存储为字符串对象

编辑

Hibernate搜索与注释一起使用:

@Indexed public class NumbersTbl { @Field public String RegularExpression; }

如果搜索数字,请确保在创建时将其指定为,否则在索引之前,分析器将删除数字

编辑

有关更多详细信息,请参阅此答案

EDIT2

您可以在
@字段
注释中指定不希望对字段进行分析。这将保留索引字段“原样”的内容。默认值为
Analyze.YES
。咨询


另外,由于使用Hibernate搜索,您可能希望将Lucene查询包装到Hibernate查询中,请参见以下内容。可能您已经这样做了,但无法从您发布的代码中分辨出来。如果你想得到有用的答案,一般来说,我建议你发布更多的代码。仔细想想,很难从一行代码中分辨出哪里出了问题。

我正在搜索的数字是输入,我必须与索引的正则表达式进行匹配,这是绝对清楚的。请修改您的帖子并添加创建的代码,该代码已写入索引,并且您希望通过查询找到。我正在使用Hibernate索引方法
@index public class NumbersTbl{@Field public String regular expression;}
@Field(index=Index.YES, analyze=Analyze.NO)