【发布时间】:2009-09-11 06:06:28
【问题描述】:
我想为我的项目实施高级搜索。 现在的搜索使用用户输入的所有字符串,并与标准 API 进行了很大的分离。
这很好用,但现在我想实现更多功能:AND、OR 和括号()
我很难解析字符串 - 并从字符串构建标准。我找到了this Stackoverflow question,但并没有真正帮助(他没有明确说明他想要什么)。
我找到了另一个article,但是它支持的更多并且会吐出sql语句。 我经常听到的另一件事是 Lucene - 但我不确定这是否真的对我有帮助。
我搜索了一下,发现了 Lucene.Net WhitespaceAnalyzer 和 QueryParser。
它将搜索 A AND B OR C 更改为 +A +B C 之类的内容,这是朝着正确方向迈出的重要一步(而且它处理括号)。 下一步是将转换后的字符串转换为一组连词和析取词。
Java example I found 正在使用我在 NHibernate 中找不到的查询生成器。
还有什么想法吗?
【问题讨论】:
标签: nhibernate search criteria