8 Stimmen

Ignorieren von html-Tags in der Sql Server 2008 Volltextsuche

Ich arbeite an einem Wissensdatenbank-Projekt mit SQL Server 2008 Volltextsuchmaschine. Das Projekt besteht aus Artikeln und Dateien, wobei jeder Artikel mehrere Dateien hat und der gesamte Inhalt in diesen Artikeln reines Html .

Im Moment habe ich erfolgreich Volltextkatalog und Index auf SQL Server 2008 erstellt und meine Datenbank ist mit Version 10 kompatibel.

Hier sind meine Fragen:

1) Ist es möglich, html-Tags zu ignorieren, genauer gesagt Texte, die "<...>" enthalten, während der Suche in diesen Artikeln, denn wenn ich nach div, table usw. suchen möchte, sollte kein Ergebnis zurückgegeben werden?

2) Artikel werden jederzeit aktualisiert, daher muss der Volltextindex aktualisiert werden, wenn ein neuer Datensatz eingefügt wird. Ist es ausreichend, bei der Erstellung des Volltextkatalogs nur "TRACK CHANGES AUTOMATIC" einzustellen?

3) Wir können im Folgenden die FILESTREAM-Funktion verwenden. Hat SQL Server 2008 eine gute Leistung bei Dateien, die einen Volltextindex verwenden? Welche spezifischen Dokumenttypen kann SQL Server 2008 gut indizieren?

Mit freundlichen Grüßen

0 Stimmen

Hallo Freund, ich denke, die beste Lösung ist, html mit regex "<(.|)" zu ersetzen. \n )*?>" mit einer sql clr Baugruppe überprüfen Sie diesen Link justgeeks.blogspot.com/2008/08/

28voto

DC. Punkte 393

Es gibt einen Filter für .htm- und .html-Dateien.

um zu sehen, ob Sie den Filter installiert haben, führen Sie dieses Sql aus:

SELECT * FROM sys.fulltext_document_types

sollten Sie sehen:

.htm E0CA5340-4534-11CF-B952-00AA0051FE20 C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Binn\nlhtml.dll 12.0.6828.0 Microsoft Corporation

.html E0CA5340-4534-11CF-B952-00AA0051FE20 C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Binn\nlhtml.dll 12.0.6828.0 Microsoft Corporation

Wenn Sie also Ihre Artikelspalte in varbinary(max) umwandeln können, können Sie ihr einen Volltextindex hinzufügen und den Dokumenttyp ".html" angeben.

Sobald der Index aufgefüllt ist, können Sie die Schlüsselwörter mit dieser Sql überprüfen:

SELECT display_term, column_id, document_count
FROM sys.dm_fts_index_keywords
(DB_ID('your_db'), OBJECT_ID('your_table'))

-1voto

Nitin Midha Punkte 2258

Bitte überprüfen Sie diese:

1) In SQL Server Full Text können wir Störwörter/Stopwörter definieren. Sie können die Noise World-Datei bearbeiten und müssen dann den Katalog neu erstellen. So können Sie alle Html-Tags als Rauschen setzen. Bitte prüfen Sie

http://msdn.microsoft.com/en-us/library/ms142551.aspx

2) Bei Tracking-Änderungen werden die Änderungen automatisch in die aktuelle Volltextsuche aufgenommen, aber die Rangfolge dieser neu hinzugefügten Artikel ändert sich gegenüber der vorherigen. Solange der Master-Index nicht synchronisiert ist, wird das Ranking also nach oben und unten abweichen.

3) Soweit ich weiß, können wir benutzerdefinierte Filter, Stemmer und Wordbreaker implementieren und in die SQL Server-Volltextsuche einbinden, wobei ich die vollständige Liste nicht kenne, aber sie umfasst doc und pdf.

Weitere Informationen zur SQL Server Volltextsuche 2008 finden Sie hier:

http://technet.microsoft.com/en-us/library/cc721269.aspx

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X