2010-01-12 66 views
8

Tôi đang làm việc trên một dự án cơ sở tri thức bằng cách sử dụng Công cụ Tìm kiếm Toàn văn của SQL Server 2008. Dự án được bao gồm trong các bài viết và tệp nơi mỗi bài viết có nhiều tệp. Trong các bài viết đó, toàn bộ nội dung là html thuần túy.Cách bỏ qua các thẻ html trong Tìm kiếm Toàn văn Sql Server 2008

Ngay bây giờ, tôi đã tạo thành công danh mục và chỉ mục toàn văn bản trên SQL Server 2008 và cơ sở dữ liệu của tôi tương thích với phiên bản 10.

Dưới đây là những câu hỏi của tôi:

1) Có thể bỏ qua các thẻ html, rõ ràng hơn văn bản chứa trong "< ...>", trong khi tìm kiếm trong những bài viết này, vì nếu tôi muốn tìm kiếm div , bảng vv không nên có kết quả trả lại?

2) Các bài viết sẽ được cập nhật bất cứ lúc nào, vì vậy chỉ mục văn bản đầy đủ phải được cập nhật khi chèn bản ghi mới. Có đủ để chỉ đặt "TRACK CHANGES AUTOMATIC" trong khi tạo danh mục toàn văn không?

3) Chúng tôi có thể sử dụng tính năng FILESTREAM sau đây, SQL Server 2008 có hiệu suất tốt trên các tệp sử dụng chỉ mục văn bản đầy đủ không? SQL Server 2008 có những loại tài liệu cụ thể nào trong việc lập chỉ mục?

Trân

+0

hi người bạn, tôi nghĩ rằng giải pháp tốt nhất là để thay thế html với regex '<(.|\n)*?>' với một tấm séc lắp ráp sql clr liên kết này http://justgeeks.blogspot.com/2008/08/adding-regular-expressions-regex-to-sql.html –

Trả lời

-1

Vui lòng kiểm tra sau đây:

1) Trong SQL Server Full Text, chúng ta có thể xác định nhóm từ tiếng ồn/từ dừng. Bạn có thể chỉnh sửa tập tin tiếng ồn thế giới và sau đó bạn phải xây dựng lại danh mục. Vì vậy, bạn có thể đặt tất cả các thẻ html là tiếng ồn. Vui lòng kiểm tra

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

2) Với ca khúc thay đổi nó tự động bao gồm những thay đổi trong tìm kiếm văn bản đầy đủ hiện tại, nhưng thứ hạng của những bài viết mới được thêm vào bị thay đổi so với trước đó. Vì vậy, cho đến khi và trừ khi bạn làm chủ chỉ mục được đồng bộ hóa nó sẽ từ bỏ và xuống với xếp hạng.

3) Theo tôi biết chúng tôi có thể triển khai bộ lọc tùy chỉnh, trình chặn và trình ngắt từ và có thể cắm vào tìm kiếm văn bản đầy đủ của SQL Server.Bởi mặc định tôi có thể không biết danh sách đầy đủ, nhưng tài liệu và pdf.

Để biết thêm thông tin về SQL Server toàn văn tìm kiếm 2008 xin vui lòng kiểm tra:

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

+1

Các từ dừng không được phép lọc các thẻ html.Nếu có văn bản như "

"Tôi sẽ cung cấp từ khóa nào để lọc nó như" hình thức "," "v.v ...? – Myra

+0

Tôi nghĩ bạn muốn bỏ qua các thẻ html cơ bản. Đối với tình huống này tôi muốn khuyên bạn nên thực hiện tùy chỉnh Word Breaker và Stemmer bằng cách thực hiện IWordBreaker, IStemmer và nếu yêu cầu giao diện IFilter và sau đó cắm vào máy chủ sql của bạn. –

+0

Bạn có đưa ra ví dụ về việc triển khai các giao diện này mà bạn đã đề cập không? – Myra

26

có một bộ lọc cho .htm và file .html.

để xem nếu bạn có bộ lọc được cài đặt chạy sql này:

SELECT * FROM sys.fulltext_document_types 

bạn sẽ thấy:

.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 

như vậy, nếu bạn có thể chuyển đổi các bài báo cột của bạn để varbinary (max), sau đó bạn có thể thêm chỉ mục văn bản đầy đủ vào nó và chỉ định loại tài liệu '.html'

khi chỉ số đã cư, bạn có thể xác minh các từ khóa sử dụng sql này:

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

Đầu tiên của bạn upvote từ tôi :) – Myra

+0

Tôi dường như không thể thêm một chỉ mục văn bản đầy đủ trên một cột varbinary (max). Tôi cũng không thể tìm hiểu cách chỉ định loại tài liệu (nếu tôi đặt văn bản này thành văn bản thay thế) – Radderz

+0

Dường như SQL Management Studio bị hạn chế một chút. Chỉ mục văn bản đầy đủ có thể được tạo ra dưới dạng một câu lệnh SQL đơn giản thay vào đó, và các cột được tính toán rất hữu ích trong quá trình này; xem điểm 2 của câu trả lời được chấp nhận tại đây: https://stackoverflow.com/questions/17179772/getting-top-n-latest-entries-from-sql-server-full-text-index – Radderz

Các vấn đề liên quan