java - 在lucene中搜索子字符串

标签 java lucene

我有很多字段要从 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/

相关文章:

elasticsearch - Elasticsearch 得分差异

python - 全文搜索和 Python

java - 在 Lucene 中获取子查询的子分数

java - Solr 4.2 中的数据导入不起作用?

java - 循环引用异常

java - 将工具栏添加到部分

java - LWJGL Display.update() 自动将 FPS 限制在 60

Java 数组格式化

java - Docx4j企业版是否用java更新Word .docx文件的目录?

solr - 在哪里可以找到 Apache Lucene/Solr 的性能基准