我正在开发一个迷你搜索引擎,我想实现基于逻辑运算符AND OR的搜索功能......
我在解析包含AND,OR,NOT的查询时遇到困难...特别是当括号...(猫或狗)没有(自行车不是麦克风)时
对于简单的AND和OR查询,它显然太简单了,我想出了如何制定sql查询,但是当它变得那么复杂时我迷失了!!!
我不确定搜索引擎是否具有此功能,但我想深入了解它是为了学习目的。
我为我上一个不太清楚的问题道歉,我希望这次我做得更好。
答案 0 :(得分:2)
我建议查看像ANTLR这样的词法分析器/解析器生成器。一个简单的语法应该可以解决你。对于这样的事情甚至可能有existing grammar。
答案 1 :(得分:1)
答案 2 :(得分:0)
如果您使用的是MySQL,则可以使用内置布尔搜索:
http://dev.mysql.com/doc/refman/5.1/en/fulltext-boolean.html