2012-06-26 150 views
0

我需要能够以编程方式扩展用户的搜索表达式,例如: X w/5(Y || Z) 至 “X Y”〜5 || “X Z”〜5
有没有一个现有的库可以用来做这种事情?如果不是,建议采用什么方法?该解决方案将在.NET环境中生存。以编程方式将X w/5(Y || Z)扩展为“X Y”〜5 || “X Z”〜5

+2

你能解释一下你为什么要这样做吗?也许有其他方法可以实现您的最终目标。 – GregRos

+0

我已更正我的帖子以更好地反映底层目的:将近似查询传递给Lucene。 – balazs

回答

1

你需要的是一个解析器,它将创建一个抽象语法树,然后你可以对其进行操作。看看here

+0

解析器本身不会重写表达式。他需要的是一个解析器和一个自定义表达式重写例程。 –

相关问题