在Lucene进行部分搜索

时间:2012-09-27 07:40:22

标签: lucene.net

我正在使用Lucene_29进行搜索功能。我在lucene中进行部分搜索的代码是

  var terms = input.Trim().Replace("-", " ").Split(' ')
            .Where(x => !string.IsNullOrEmpty(x)).Select(x => x.Trim() + "*");
        input = string.Join(" ", terms);

这里我将星号附加到部分搜索的输入数据。当我将输入作为“swetha”或“swe”传递时。我正在完美地获得搜索数据。但是当我选择“潮湿”时。我没有得到包含“swetha”的字段。任何人都可以帮我找到解决方案。 我正在解析我的输入

query = parser.Parse(input.Trim());

1 个答案:

答案 0 :(得分:0)

如果要在两端使用通配符,则需要将QueryParser上的AllowLeadingWildcard选项设置为true。

正如jishi所说,这非常不理想,而且非常缓慢,因为它将扫描整个术语词典。

link to setAllowLeadingWildcard documentation