2008-10-03 36 views
5

Tôi hiện đang xem xét lập chỉ mục một trang web ASP từ Sharepoint và tôi cần sao chép lược đồ "tìm kiếm nâng cao" cũ mà người dùng quen thuộc. Để thực hiện điều này, tôi cần lập chỉ mục một vài thẻ meta từ các trang web. Điều này là dễ dàng thực hiện và cho các lĩnh vực văn bản tôi có thể sử dụng chúng trong việc tìm kiếm là tốt. Tuy nhiên, đối với các thẻ meta ngày, như "hết hạn" hoặc "đã xuất bản", tôi đang gặp một số sự cố. Vấn đề về cơ bản là các thẻ meta được thu thập thông tin dưới dạng "văn bản", nhưng tôi cần Sharepoint để phân tích chúng thành datetime. Tôi đã nhìn thấy một vài bài viết trên TechNet yêu cầu cho cùng, nhưng không có câu trả lời.Tìm kiếm thẻ meta ngày trong Sharepoint

1: https://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=2614064&SiteID=17 TechNet

Trả lời

3

Bạn không làm gì sai, đây là cách sản phẩm hoạt động. Để thêm vào những gì đã nói trước đó, nó không dễ dàng tùy chỉnh.

Cách thích hợp để tiếp cận điều này là tạo trình xử lý giao thức tùy chỉnh cho HTML. Đây là một đối tượng COM tùy chỉnh thực hiện một vài giao diện. MOSS 2007 SDK có một tham chiếu trình xử lý giao thức.

Khi thực hiện việc này, chúng tôi đã tạo tệp ini để chúng tôi có thể xác định loại mà chúng tôi muốn các trường META được thu thập thông tin dưới dạng (Chuỗi, Int, DateTime). Sau đó, khi bạn thêm thuộc tính tùy chỉnh, mọi thứ đã được phân tích cú pháp chính xác. Sau đó, bạn có thể sử dụng các thuộc tính tùy chỉnh như bình thường.

+0

Bạn cũng có thể chỉ quấn IFilter HTML, có trách nhiệm trích xuất các thuộc tính và gửi chúng xuống hạ lưu. –

1

Crawler web được xây dựng vào tìm kiếm là thô sơ và bạn sẽ không thể dễ dàng mở rộng nó để bao gồm các thẻ meta. Bị cáo buộc bạn có thể viết trình xử lý giao thức của riêng bạn và thu thập thông tin các trang ASP trong nguồn nội dung của chính chúng; bị cáo buộc rằng công trình. Tôi không nghĩ rằng bất cứ ai thực sự viết xử lý giao thức riêng của họ mặc dù.

Bạn sẽ phải thất vọng với những gì trình thu thập thông tin của SharePoint cung cấp, đó là lý do tại sao không có câu trả lời trên diễn đàn chính thức - bởi vì câu trả lời thực là "Không thể làm điều đó dễ dàng, xin lỗi".

Bạn có thể hack thứ gì đó bằng cách viết một dịch vụ web tùy chỉnh (dựa trên ASMX hoặc WCF) tự thu thập thông tin thẻ meta của các trang ASP. Từ đó, bạn có thể kéo kết quả dịch vụ web vào BDC có thể tìm kiếm được, và sau đó trong kết quả tìm kiếm/dữ liệu BDC, bạn có thể có một liên kết đến trang gốc. Nó giống như một thiết bị Rube Goldberg, tôi biết, nhưng tôi tin tưởng khi tôi nói nó sẽ dễ dàng hơn là tìm ra cách viết một trình xử lý giao thức.

+0

Thực ra, trình thu thập thông tin không tìm thấy thẻ meta, như tôi đã nói trong câu hỏi của mình. Vấn đề là nó hỗ trợ ánh xạ/chuyển đổi các loại giá trị. – noocyte

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