2016-06-30 8 views
1

Es scheint unmöglich zu sein, eine exakte Phrasenübereinstimmung auf Milliarden von Dokumenten zu machen, wie machen Suchmaschinen das?Wie genau stimmen Suchmaschinen Millionen von Wörtern (oder Milliarden von Dokumenten) überein?

Meine einzige Vermutung ist, dass sie nicht wirklich eine echte exakte Wortgruppe übereinstimmen. Sie haben einen Wortindex, der jedes Dokument zurückgibt, das ein bestimmtes Wort enthält, und dann wählen sie Wörter aus der "exakten Phrase" heraus und überschneiden die Wortlisten. Zum Beispiel, wenn ich nach "cut down Baum" auf Google eine Seite suche, die ich bekomme, ist How to Cut Down a Tree auf Instructables, aber nirgendwo auf dieser Seite gibt es den genauen Ausdruck "Baum". Das nächste ist "Cut Down a Tree", was eine andere Phrase ist. Also, anscheinend macht Google nicht wirklich eine exakte Phrasenübereinstimmung, nur ein Pseudo-Match.

Also, macht eine echte genaue Übereinstimmung unmöglich mit einem großen Korpus?

+0

Google hat genau passendes Wort verwendet * genau *, ohne Gehäuse und einige Buchstaben ohne Buchstaben, bis vor ein paar Jahren oder weniger (und es war eine bessere Suchmaschine ~ 2010 und früher, für mich sowieso). Ich habe es bemerkt, weil ich dieses Feature viele Jahre lang intensiv genutzt habe. Sie verwenden nicht die gleichen Methoden wie früher. Sie haben genaue Phrasenabgleiche fallen lassen und tun jetzt Annäherungen: https://www.searchenginejournal.com/google-apply-close-variant-keyword-matching-exact-phrase-keywords/114067/ – Shule

+0

Also, wie auch immer, tue ich nicht wissen, wie sie * es * benutzt haben, aber es war nicht unmöglich. Ich könnte mir vielleicht einige Möglichkeiten vorstellen, aber ich habe nicht viel Erfahrung mit so etwas; Also, ich mache das alles nicht zur Antwort. – Shule

Antwort

0

Nun, ich weiß nicht viel über einen großen Korpus wie Google, aber ich habe meine eigenen Erfahrungen mit Apache Solr. Um eine genaue Suche in Solr durchzuführen, müssen Sie Ihre Phrase in Anführungszeichen setzen, wie "Google Suchmysterium". Diese Art von Abfrage beschränkt Sie jedoch nur auf die genauen Übereinstimmungen, aber nicht auf die anderen Dokumente, die Wörter wie Google-Suche, Suchmysterium, Google Mystery oder weitere solche Kombinationen enthalten können. So kommt hier in boost-bezogenen Abfragen, dass Sie den Keywords relative Boost-Werte geben, so dass das genaue Wort an der Spitze kommt, aber auch die nachfolgenden Übereinstimmungen kommen. Meine Solr basierte Anwendung hat einen Index von ungefähr 1,00,000 Dokumenten und es hat gut funktioniert. Auch meine Anwendung hatte einen spezifischen Anwendungsfall für eine exakte inhaltsbasierte Suche, die auf einer kleinen Ebene gut funktioniert. Jetzt, in einem Google-Abfrageszenario, glaube ich nicht, dass ihr Suchmodell Dinge nur nach exakten Übereinstimmungen sortiert, und es macht wahrscheinlich Sinn. Wenn Sie nach "cut down tree" suchen, gibt es möglicherweise Ergebnisse, die genau diesen Satz enthalten, aber diese Website wird möglicherweise nicht als relevant für den Nutzer angesehen, da Google eine Vielzahl von Faktoren berücksichtigt, wie Seitenaufrufe, Backlinks zum Seite, beliebte Inhalte, die häufig regelmäßig gesucht wird. Exakte Übereinstimmung ist also nicht nur ein Parameter, den eine Suchmaschine wie Google bei der Auslesung von Millionen von Dokumenten berücksichtigt.

0

Um zu Ihrem Beispiel zu gelangen, ist "a" in "cut down a tree" wahrscheinlich ein Stoppwort und von der Indexierung und Abfrage ausgeschlossen.

Wie funktionieren Suchmaschinen? Sie pflegen einen invertierten Index, dh einen Index für Wörter und das Dokument, in dem sie vorkommen. Außerdem behalten sie eine Termposition, dh wo die Wörter im Dokument vorkommen. Auf diese Weise können sie eine Liste von Dokumenten sammeln, die mit der Abfrage übereinstimmen, aber auch Operationen wie die Phrasen- und Näherungsanpassung durchführen.

Zum Beispiel können wir die Begriffe haben

Term Doc Pos 
cut  1  7 
     5  27 
down 1  8 
     5  7 
tree 1  9 
     5  98 

wir, dass Doc 1 und Doc 5 Spiel sehen können, aber nur Doc 1 entspricht dem Satz (ohne Stoppwörter).

+0

Sie wiederholen grundsätzlich, was ich bereits in meiner Frage gesagt habe. –

+0

Nein Ich erkläre, wie Sie Phrasenabgleiche (unter Verwendung von Begriffspositionen) für eine große Anzahl von Dokumenten durchführen und warum "a" für die Zwecke der Abfrage/Indizierung nicht berücksichtigt wird. –