我有很多字段要从 lucene 获取数据。 该字段之一是: NTF_com.cisco.vportal.1.TranscodingStatus 其值为: 失败:DEPLOY_FALSE:bdecc8c3-0389-47b7-bbe5-04a2611e4be9:dms.job.transform.input.format.unsupported.error:dms.job.transform.error.type.permanent
现在我想检查搜索是否该值包含 FAILED。
我尝试使用 WildcardQuery 但它对我不起作用,我将其设置为
org.apache.lucene.index.Term term=neworg.apache.lucene.index.Term("NTF_com.cisco.vportal.1.TranscodingStatus", "FAILED*");
Query wquery=new WildcardQuery(term);
但没有得到正确的结果。
我只是想检查这个字段是否包含我传递给它的子字符串。
最佳答案
为了使字段内容可搜索,第一步是分析该字段。这意味着,应用一系列转换、清理、标记化等来提取可搜索单元(标记)。
在您的情况下,您可以使用 WordDelimiterFilter 作为分析链中的一步。
关于java - 在lucene中搜索子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21307507/