aMule Forum
Deutsch => aMule Hilfe => Topic started by: Schuttwegraeumer on April 20, 2010, 11:35:16 PM
-
Wie kann man eigentlich bei Kademlia auf strings suchen die zum Beispiel ein "-" enthalten, bei ed2k Suche über die Server geht das scheinbar?
-
Ursprünglich war im Falle einer KAD Suche die Mindestlänge der Suchbegriffe auf 3 Zeichen beschränkt.
Wenn ich mich richtig erinnere ist in der SVN Version diese Beschränkung im Zuge der Implementierung mehrfach vorkommender identischer Suchbegriffe entfernt worden. Hundert pro kann ich das nicht bestätigen, da müsste ich schon einen Blick auf den Code werfen - was im Moment nicht geht.
-
Es sind immer noch drei Zeichen, allerdings UTF8, d.h. man kann z.B. Begriffe aus zwei chinesischen Zeichen suchen.
"-" ist ein Trennzeichen (gesamt: " ()[]{}<>,._-!?:;\\/"), d.h. man kann nicht nach Wörtern mit "-" suchen. So ist das in Kad eben definiert.
-
Naja, so ganz stimmt das nicht. Es wird immer nach einem einzigen Schlüsselwort gesucht. Ob im Nachhinein die Ergebnisse nach den Wörtern gefiltert werden, ist wieder was anderes. Wenn aber die minimale Länge der gefilterten Wörter - wie Stu sagt - drei Zeichen sind, dann geht es momentan nicht.
-
Naja, so ganz stimmt das nicht. Es wird immer nach einem einzigen Schlüsselwort gesucht. Ob im Nachhinein die Ergebnisse nach den Wörtern gefiltert werden, ist wieder was anderes. Wenn aber die minimale Länge der gefilterten Wörter - wie Stu sagt - drei Zeichen sind, dann geht es momentan nicht.
Hm, das mit dem Filtern ist mal keine schlechte Idee.
-
Naja, so ganz stimmt das nicht.
Inwiefern? Suche nach "Bla-Blubb" sucht nach "Bla" und filtert anschließend die Ergebnisse nach "Blubb". Findet dann aber auch z.B. "Bla nicht Blubb" o.ä.
-
Leider hat das mit dem Filtern nicht geklappt.
Weder oben in der Zeile noch mit den Filteroptionen.
-
Leider hat das mit dem Filtern nicht geklappt.
Weder oben in der Zeile noch mit den Filteroptionen.
Mit Filtern habe ich nicht die Option bei der Suche gemeint, sondern das Filtern nach den einzelnen Wörtern im Programmcode (im Hintergrund). Es ist nämlich egal was man eingibt, es wird immer das erste Wort genommen und als Schlüsselwort für die KAD Suche verwendet. Die liefert Ergebnisse, von denen im nächsten Schritt jene verworfen werden, die die übrigen Suchwörter nicht enthalten.
... man kann nicht nach Wörtern mit "-" suchen. So ist das in Kad eben definiert.
Diese Aussage stimmt daher nicht ganz. Wenn man die Mindestwortlänge (3 Zeichen) entfernt, kann beim Filtern nach dem Minus-Zeichen gesucht und nur jene Ergebnisse angezeigt werden, die das auch enthalten. Was im Moment jedoch auf Grund der Mindestlänge der Suchwörter nicht geht. Daher an Schuttwegraeumer: bei der KAD Suche ist das Suchen nach "-" derzeit nicht möglich.
-
... man kann nicht nach Wörtern mit "-" suchen. So ist das in Kad eben definiert.
Diese Aussage stimmt daher nicht ganz. Wenn man die Mindestwortlänge (3 Zeichen) entfernt, kann beim Filtern nach dem Minus-Zeichen gesucht und nur jene Ergebnisse angezeigt werden, die das auch enthalten.
'-' ist ein Worttrenner und somit kein Wortbestandteil. Also kann man kein Wort mit '-' bilden und somit auch nicht danach suchen oder filtern.
-
Manchmal ist "-" auch ein Wortverbinder, was an deiner Aussage natürlich nichts ändert. Allerdings wäre es nicht abwegig z.B. in Texten nach Wörtern die "-" enthalten zu suchen. Bei eD2k oder Kad kann ich mir das aber eher weniger vorstellen, da man dann ja den Namen teilweise schon kennen müsste. Nur nach "-" zu suchen würde wohl <ganz große Zahl einfügen> Ergebnisse bringen. Sprich nach "-" suchen macht wohl keinen Sinn, nachher nach "-" filtern wahrscheinlich schon.
Beispiel: Ich suche aMule in einer bestimmten Version. Suche nach aMule bringt Ergebnisse "amule.gz", "amule-2.2.6.gz", amule-2.2.2.gz", "Watch amule fucking.avi". Wenn ich nun nach "-" filtere, verschwindet der Spam (in realen Suchen nur teilweise, aber immerhin etwas), und der Treffer ohne Version (würde ich nicht laden, da ich nicht weiß ob es die aktuelle ist), also bleibt mir nachher noch die Wahl zwichen 2.2.2 und 2.2.6.
-
Der Grund dieses threads war dass ich nach einem Wort in der Art "a-bcd" gesucht habe und über die Serversuche recht gut fündig wurde, bei Kademlia aber nicht wirklich.
Wo scheitert es eigentlich?
Wo müsste man etwas umbauen dass "a-bcd" (jetzt bewusst mit " eingegeben als string) funktionieren würde?
Wenn man es beim suchenden Client möglich macht, wie würden die anderen Nodes darauf reagieren?
-
Ich würde dir das wirklich sehr gerne erklären, aber schriftlich würde das wahrscheinlich - sie zuvor - zu mehr Verwirrung als Klarheit führen. Deshalb lasse ich es lieber.
Im Moment müsste man beim Senden der Suchanfrage bereits etwas ändern, damit der eingegebene Text eins-zu-eins als Suchbegriff verwendet wird. Bevor wir das machen, sollten wir aber darüber diskutieren, ob das wirklich sinnvoll ist. Du bist an dieser Stelle gerne dazu eingeladen im Feature Request (http://forum.amule.org/index.php?board=11.0) Forum einen Kommentar zu erstellen, an dem dann auch die erfahreneren, englisch sprachigen Entwickler teilnehmen können. ;)
-
Im Moment müsste man beim Senden der Suchanfrage bereits etwas ändern, damit der eingegebene Text eins-zu-eins als Suchbegriff verwendet wird.
Und damit ist es no-go. Wir können das KAD-Protokoll nicht ändern, wir sind nur Gast im eMule-Netzwerk.