我已经使用一些数据创建了索引。现在,我正在使用WildcardQuery搜索此数据。被索引的文档具有我正在搜索的字段名称Product Code

以下是我用于创建查询和搜索的代码:
Term productCodeTerm = new Term("Product Code", "*"+searchText+"*");query = new WildcardQuery(productCodeTerm);searcher.search(query, 100);
searchText变量包含用于搜索索引的搜索字符串。如果searchString为'jf',我得到以下结果:

JF32358
JF5215
JF2592

现在,当我尝试使用25, or f2 or f3或仅使用j,f,jf进行搜索时,查询没有命中。

我不明白为什么会这样。有人可以帮助我了解这种搜索方式的原因吗?

最佳答案

您在编制索引时使用了什么分析仪?给出示例,您应该确保分析仪:

  • 做小写,
  • 不会删除数字,
  • 不会在字母和数字之间的边界处分开。
  • 08-28 17:23