2011-10-17 33 views
12

Tôi cần cung cấp tìm kiếm toàn văn trên các tệp nguồn javascript và làm nổi bật kết quả.Cách lập chỉ mục mã nguồn bằng ElasticSearch

Câu hỏi của tôi là sự kết hợp giữa các trình phân tích và trình phân tích hiện tại của ElasticSearch sẽ tốt nhất cho điều này?

Trả lời

5

Câu hỏi thú vị nhưng tôi không biết một giải pháp ngoài hộp. Bạn có thể sử dụng trình mã thông báo WordDelimiter như bạn có thể chỉ định ví dụ: dấu gạch dưới được xử lý dưới dạng chữ số và sau đó các hàm như hello_world (hoặc helloWorld nếu camelcase được bật) sẽ có thể tìm kiếm được thông qua hello hoặc world.

Nhưng tôi nghi ngờ rằng kết quả là đủ ... và bạn sẽ phải thực hiện một source code analyzer yourself hoặc sử dụng mã which extracts the syntax tree để tên phương pháp chỉ số và các cơ quan vào các lĩnh vực khác nhau

+0

Là nhà phát triển tìm kiếm mã nguồn, bạn có thực sự muốn tìm hello_world hoặc helloWorld chỉ với "hello" hoặc chỉ "thế giới"? Trong trường hợp của chúng ta ít nhất, chúng ta có tìm kiếm đàn hồi cho tất cả các kho mã của chúng ta, và chúng ta thường tìm kiếm một lỗi chính tả cụ thể của một phương thức cụ thể trên tất cả chúng - ví dụ như khi cập nhật khung cốt lõi của chúng ta. –

0

Trừ khi bạn muốn để lộ này như một dịch vụ với ai đó, tôi khuyên bạn nên cài đặt plugin InstaSearch trong nhật thực; plugin này tạo ra chỉ mục lucense và cung cấp cho bạn kết quả tức thời.

1

Bạn có thể sử dụng attachment type plugin để tải tệp vào Elasticsearch và để cho nó lập chỉ mục các tệp. Nó có thể xử lý dữ liệu meta cho các tệp và lập chỉ mục nội dung của các tệp.

github page bao gồm thông tin về cách đánh dấu tài liệu tìm kiếm.

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