2010-05-15 72 views
1

当我的用户输入一个像“word”这样的术语时,我希望它被当作通配符查询“word *”,以便找到所有以“word”开头的术语。有没有办法告诉QueryParser自动创建通配符查询还是必须自己解析查询?这对于简单的查询不应该是个问题,但对于更复杂的查询可能会变得棘手。将QueryParser的通配符查询设置为默认值

回答

0

除非我遗漏了一些东西 - 每个查询的通配符查询通常都是不可取的 - 它非常昂贵并且可能导致很多问题。如果您尝试查找包含词干变体的结果(例如赢 - >赢家,获胜等),您应该考虑使用n-gram方法。

+0

Mikos,我做了一些测试,并在我的特定场景(这是一个桌面应用程序,一次只执行一次搜索),当我独占使用通配符查询时,我没有注意到任何性能问题。 N-grams对我来说是新的。我会研究它。 – user46703 2010-05-16 23:09:37