Skip to content

Commit

Permalink
fix dup matches
Browse files Browse the repository at this point in the history
  • Loading branch information
nikopol committed Jul 8, 2014
1 parent 9314e1c commit 7281c6d
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 27 deletions.
16 changes: 12 additions & 4 deletions querytext.js
Expand Up @@ -485,9 +485,9 @@ var querytext=(function(o){
//NEAR spotted, need to calc wordidx
var
n = 0,
w = 0,
l = txt.length,
wchar = /^[\-0-9A-Za-z\u00C0-\u017F]+$/;
w = 0,
l = txt.length,
wchar = /^[\-0-9A-Za-z\u00C0-\u017F]+$/;
while( n<l )
if(wchar.test(txt[n])) {
wordidx[n] = w++;
Expand All @@ -498,7 +498,15 @@ var querytext=(function(o){
reset_node( this.tree );
ok = node_match( this.tree, this.opts.unaccent ? unaccent(txt) : txt );
if(this.opts.debug) console.log(this.dump());
if(ok && matches) return get_matches(this.tree);
if(ok && matches) {
var dup = {};
return get_matches(this.tree).filter(function(m){
var ok = !dup[m.pos];
dup[m.pos] = true;
return ok;
});
return m;
}
return ok;
},
highlightml: function(node,bef,aft) {
Expand Down
22 changes: 11 additions & 11 deletions querytext.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 2 additions & 12 deletions test/user-test.html
Expand Up @@ -139,19 +139,9 @@
</script>
</head>
<body>
<div><textarea id="text">
C'est l'un des hold-up les plus audacieux réalisés contre l'Etat français. En mai dernier, quelques jours avant le second tour de l'élection présidentielle, des pirates ont réussi à s'introduire dans les réseaux informatiques de l'Elysée. Révélée par le quotidien régional Le Télégramme, cette intrusion avait alors été soigneusement étouffée par le Château. Une omerta qui, jusqu'à présent, n'avait pas été brisée. Aucune information n'avait filtré sur la nature des agresseurs, ou même sur le préjudice subi. Pourtant, l'affaire est grave, d'autant qu'elle constituerait une cyberattaque sans précédent entre pays alliés.

L'Express peut révéler que les intrus ont non seulement réussi à pénétrer au coeur même du pouvoir politique français, mais qu'ils ont pu fouiller les ordinateurs des proches conseillers de Nicolas Sarkozy. Des notes secrètes ont été récupérées sur des disques durs, mais aussi des plans stratégiques. Du vrai travail de pro, digne du dernier James Bond, Skyfall. Et, comme souvent dans ce type d'attaque, une négligence humaine est à l'origine de la catastrophe.

Tout a commencé sur Facebook. Les assaillants ont d'abord identifié, sur le réseau social, le profil de personnes travaillant au palais présidentiel. Se faisant passer pour des amis, ils les ont ensuite invitées, par un message électronique, à se connecter sur l'intranet du Château. Sauf que ce lien menait à une fausse page Web - une réplique de celle de l'Elysée. Les victimes n'y ont vu que du feu ; et lorsque est apparu, à l'écran, un message leur demandant leur identifiant et leur mot de passe, elles les ont donnés en toute bonne foi. Une technique bien connue des hackers, qui leur a permis de récupérer les clefs numériques pour s'inviter en toute quiétude dans le saint des saints.

Une fois à l'intérieur, les pirates ont installé un logiciel espion qui s'est propagé d'un ordinateur à l'autre. Très élaboré, ce "ver" n'a infecté que quelques machines. Et pas n'importe lesquelles : celles des conseillers les plus influents du gouvernement... et du secrétaire général, Xavier Musca. Nicolas Sarkozy y a, lui, échappé. Et pour cause, il ne possédait pas de PC. Malheureusement pour les assaillants, le code malveillant a laissé des empreintes. "Telles des marionnettes actionnées par des fils invisibles, les machines infectées communiquent avec leur maître pour prendre leurs ordres, décrypte un expert, Olivier Caleff, responsable sécurité du Cert-Devoteam, une société de sécurité informatique. Lorsque l'on essaie de remonter ces fils sur Internet, on arrive souvent sur des serveurs situés à l'étranger."

C'est ce travail de fourmi qu'ont mené les enquêteurs français. Le degré de sophistication de l'attaque était tel que les suspects se limitaient, d'emblée, à une poignée de pays. Pour preuve, le cyberpompier de l'Etat, l'Agence nationale de la sécurité des systèmes d'information (Anssi), a mis plusieurs jours pour restaurer le réseau de l'Elysée. Difficile de trouver l'origine de l'offensive. Souvent, les assaillants brouillent les pistes en passant par des pays tiers. Autant de rebonds, sur des serveurs situés sur les cinq continents, qui rendent ce fil d'Ariane très compliqué à suivre, même pour les "cyberdétectives" de l'Etat mobilisés pour l'occasion. Mais, selon les informations recueillies par L'Express auprès de plusieurs sources, leurs conclusions, fondées sur un faisceau de présomptions, convergent vers le plus vieil allié de la France : les Etats-Unis.
</textarea></div>
<div><textarea id="text">ソフトバンクいちろーは福井の42歳SB不祥事ダンマリ公務員 → http://t.co/2nLi6EUWg0 @softbank_ichiro #au #SoftBank #docomo #kddi #Fukui #ペッパー #PepperRobot @masason</textarea></div>
<form>
<div><label for="query">Query</label><textarea id="query">"coeur pouvoir"~5</textarea></div>
<div><label for="query">Query</label><textarea id="query">("pepper robot"~10 OR "pepper robots"~10 OR "pepper aldebaran"~10 OR "pepper softbank"~10 OR "pepper soft bank"~10 OR "pepper maisonnier"~10 OR "pepper masayoshi son"~10 OR "pepper masason"~10 OR "pepper sft"~10 OR "ペッパー ロボット"~10 OR "アルデバラン ロボット"~10 OR "アルデバラン ペッパー"~10 OR "peper robot"~10 OR "peper robots"~10 OR "peper aldebaran"~10 OR "peper softbank"~10 OR "peper soft bank"~10 OR "peper maisonnier"~10 OR "peper masayoshi son"~10 OR "peper masason"~10 OR "peper sft"~10 OR "aldebaran softbank"~10 OR "aldebaran soft bank"~10 OR "aldebaran masayoshi son"~10 OR "aldebaran masason"~10 OR "aldebaran sft"~10 OR "robot softbank"~10 OR "robot soft bank"~10 OR "robot masayoshi son"~10 OR "robot masason"~10 OR "robot sft"~10 OR "robots softbank"~10 OR "robots soft bank"~10 OR "robots masayoshi son"~10 OR "robots masason"~10 OR "robots sft"~10 OR "softbank maisonnier"~10 OR "soft bank maisonnier"~10 OR "masayoshi son maisonnier"~10 OR "maisonnier masason"~10 OR "maisonnier sft"~10 OR ロボット事業 OR クラウドAI OR ペッパー君 OR pepperrobot) AND NOT ("portrait-robot" OR "portrait robot" OR "pepper salt"~10 OR "pepper shaker"~10 OR "pepper spray" OR "pepper spraying" OR food OR pizza)</textarea></div>
<div><label for="wholeword">WholeWord</label><input id="wholeword" type="checkbox" checked="checked"/></div>
<div><label for="sensitive">Case sensitive</label><input id="sensitive" type="checkbox"/></div>
<div><label for="unaccent">Unaccent</label><input id="unaccent" type="checkbox" checked="checked"/></div>
Expand Down

0 comments on commit 7281c6d

Please sign in to comment.