2016-01-18 24 views
13

Tôi mới sử dụng ElasticSearch. Tôi đã đi qua hướng dẫn rất cơ bản về việc tạo các chỉ mục. Tôi hiểu khái niệm về việc lập chỉ mục. Tôi muốn ElasticSearch tìm kiếm bên trong tệp .PDF. Dựa trên sự hiểu biết của tôi về việc tạo các chỉ mục, có vẻ như tôi cần đọc tệp .PDF và trích xuất tất cả các từ khóa để lập chỉ mục. Nhưng, tôi không hiểu những bước tôi cần phải làm theo. Làm cách nào để đọc tệp .PFD để trích xuất từ ​​khóa.Cách lập chỉ mục tệp .PDF trong ElasticSearch

+2

Bạn có thể cần phải kiểm tra [elasticsearch-mapper-file đính kèm Plugin] (https://github.com/elastic/elasticsearch-mapper-attachments), nó sẽ làm những gì bạn mong đợi. – Val

+0

Cảm ơn. Bạn có thể vui lòng đăng bài này làm câu trả lời của bạn, để tôi có thể chấp nhận nó. – KurioZ7

+0

Nếu bạn muốn giải pháp out-of-the-box, bạn có thể thử [Ambar] (https://ambar.cloud) – SochiX

Trả lời

6

Install Elasticsearch Plugin mapper-tập tin đính kèm và mã sử dụng tương tự như:

public String indexDocument(String filePath, DataDTO dto) { 
     IndexResponse response = null; 
     try { 
      response = this.prepareIndexRequest("collectionName").setId(dto.getId()) 
        .setSource(jsonBuilder().startObject() 
        .field("file", Base64.encodeFromFile(filePath)) 
        .endObject()).setRefresh(true).execute().actionGet(); 
     } catch (ElasticsearchException e) { 
      // 
     } catch (IOException e) { 
      // 
     } 
    return response.getId(); 
} 
28

Dường như các plugin elasticsearch-mapper-tập tin đính kèm đã bị phản đối 5.0.0 (Phát hành ngày 26 Tháng 10 2016). documentation khuyên bạn nên sử dụng Ingest Attachment Processor Plugin làm phương án thay thế.

Để cài đặt:

sudo bin/elasticsearch-plugin install ingest-attachment 

Xem How to index a pdf file in Elasticsearch 5.0.0 with ingest-attachment plugin? để biết thông tin về cách sử dụng các tập tin đính kèm Plugin ăn.

+3

Đây là câu trả lời đúng kể từ hôm nay (18/11/2016). elasticsearch-mapper-attachment đã lỗi thời và không hoạt động với elasticsearch> = 5.0.0 nhưng 'ingest-attachment' hoạt động như một sự quyến rũ. –

0

Đối với dự án của tôi, tôi cũng phải làm cho tệp .PDF cục bộ của mình có thể tìm kiếm được. tôi đạt được điều này bằng cách làm theo:

  1. dữ liệu Trích từ tập tin .PDF sử dụng Apache Tika, tôi sử dụng Apache Tika vì nó mang lại cho tôi sự tự do để trích xuất dữ liệu từ mở rộng khác nhau với cùng một đường ống.
  2. Đã sử dụng đầu ra của Apache Tika để lập chỉ mục.

Thông thường chỉ số của tôi trông giống như:

{ filename: "FILENAME", filebody: "Dữ liệu được chiết xuất từ ​​Apache Tika" }


Có nhiều giải pháp khác nhau trên mạng như đã đề cập ở đây cũng sử dụng Elasticsearch mapper-attachment plugin là một giải pháp tuyệt vời. Tôi đã chọn phương pháp này vì tôi muốn làm việc với các tệp lớn và các tiện ích khác nhau.

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