很简单, and 和not并不是在现有的结果上筛选,而是重新搜索。比如你搜索 朱镕基,出来很多结果,然后朱镕基 not 李鹏,又出来很多结果,如果是在朱镕基的基础上减去李鹏,那么很多网页应该是一样的,可事实上,非常不同。所以可以确定,不是在在现有的结果上筛选,每次都是新搜索。 至于怎么搜索,结果怎么产生,这个算法都是很复杂的。 |
很有意思的发现。如果单单从逻辑的角度来说,这的确是个问题。 现在既然有这样的结果,那就说明,除了逻辑之外,一定还有其他影响因素。 我的猜测是,对于 NOT 与 AND 这两个逻辑也许用在不同的对象上。 简单假设一下:所有的论文都包含“摘要”和“关键字”部分。我们用某个关键字查询的时候,数据库可能在论文的“摘要”和“关键字”这两部分查找。如果发现有,就选出来。 但是如果面对逻辑关系的时候,这样的关键字只在“关键字”部分查询,而不在“摘要”部分查询(否则可能会有很多应该选出来的文章被排除掉)。 如果我的猜测正确的话,如果你查 hardening hardening,应该会有少许结果出来。 |
开心和金牌两位的说法, 我理解似乎是说这里的search类似于google或yahoo搜索, 搜到的条目可能会有重复, 也可能有省略; 而且变化很快, 前后两次搜索可能就会有不同. 但我搜的是一个相对稳定的database, 几天都不会变的, 更不要说前后两次了. 新新说的是有漏网之鱼的意思, 我猜想也是如此. 关键就是不清楚是怎么漏的了. 这也是我感困惑的地方: 怎么机器都这么不牢靠呢? 我试了新新说的, 搜了 shielding shielding, 和 hardening hardening 等等, 但结果都是0. 我仔细看了搜到的条目, 好象是这样的: 在 (1) 搜 electromagnetic shielding hardening 和 (3) 搜 electromagnetic shielding hardening 两者的结果中, 有几条是重复的. 也就是说有这样两种可能: 要么在(1)中没有把所有的"带有hardening"的鱼排除在外; 要么在(3)中让某些"不带hardening"的鱼混进来了. (1)+(3)=158, 而(2)=153, 也即有5条鱼在(1)和(3)重复出现了. 类似地, (3)和(4)中也有重复的鱼, 所以(3)+(4)>(5). 但我还是想不通, 鱼到底是怎么漏网的. (说明: 我每次搜的范围都是一样的: title, abstract, key words). 本贴由[husonghu]最后编辑于:2007-9-6 0:24:27 |
最多只是153条目,条目又不多,比较一下,可能有些条目不应该全在也说不定呢!将1、2、3に条目分別copy下来,用2的条目先删去与1、3一样的条目內容再比较吧!比较数字沒意思,就比较条目內容吧! |
原来是学校图书馆的数据库啊,那就可能是因为SQL语句的“select.... from..... where” 语句,有很多不同的表达,可能并不是每个都是在原来的where后边添新条件加以限制。 这得问问那个程序员,看看他的具体程序代码是什么,才能解释。这么干猜估计是不行的。 |
另外,更奇妙的是,SQL对于大小写,空格,都敏感。比如你的图书进库的时候,书名输成 < A> 这三者完全是不一样的。 那如果当时输入的时候另外两个,肯定就出你这种现象,难免多一个,或者少一个,尽管你肉眼看上去三者是一样的。 还有就是,返回的时候,也有很多参数,所以到底怎么返回的,也都是问题。只能看源代码,才能找出真正原因。猜没法猜,太多可能了。 |
欢迎光临 珍珠湾ART (http://zzwav.com/) | Powered by Discuz! X3 |