2012-09-27 37 views
5

Cố gắng kiểm soát thứ tự bộ lọc mã thông báo được áp dụng trong Tìm kiếm Đàn hồi.Thứ tự kiểm soát bộ lọc mã thông báo trong Tìm kiếm Đàn hồi

Tôi biết từ các tài liệu mà trình mã thông báo được áp dụng trước, sau đó là các bộ lọc mã thông báo, nhưng chúng không đề cập đến cách xác định thứ tự của các bộ lọc mã thông báo.

Dưới đây là một đoạn YAML từ thiết lập kịch bản phân tích của tôi:

 KeywordNameIndexAnalyzer : 
      type : custom 
      tokenizer : whitespace 
      filter : [my_word_concatenator, keyword_ngram] 

Tôi đã có thể nghĩ rằng my_word_concatenator sẽ được áp dụng trước keyword_ngram, nhưng nó có vẻ như đó không phải là trường hợp. Bất cứ ai biết làm thế nào (hoặc nếu) thứ tự của các bộ lọc này có thể được kiểm soát?

Cảm ơn rất nhiều!

+0

Kỳ vọng của bạn là chính xác. Các bộ lọc trong [máy phân tích tùy chỉnh] (https://github.com/elasticsearch/elasticsearch/blob/a0a8538ef9c7d8f24dc9b9f081c548f7d9e8b7cd/src/main/java/org/elasticsearch/index/analysis/CustomAnalyzer.java#L98) được áp dụng theo thứ tự được chỉ định bởi mảng bộ lọc. Bạn có thể cung cấp một ví dụ, nơi điều này dường như không phải là trường hợp? – imotov

+0

Bạn đúng - lý do khiến đơn đặt hàng dường như là vì tôi đã sử dụng kết hợp vô nghĩa bộ mã thông báo và bộ lọc mã thông báo. Nếu bạn tò mò, my_word_concatenator dải khoảng trống, nhưng vì tôi đã sử dụng trình kiểm tra khoảng trắng, không có khoảng trống nào trong các thẻ đã nhận được vào các bộ lọc. Vì vậy, 1 đã không xảy ra ở tất cả, như trái ngược với xảy ra sau 2. –

Trả lời

4

Máy phân tích được tạo từ bộ mã thông báo, mã này sẽ tách văn bản của bạn thành mã thông báo. Sau đó các bộ lọc mã thông báo đi vào hình ảnh, theo thứ tự bạn đã cấu hình chúng, vì bạn đang cung cấp một mảng. Nếu bạn có nghi ngờ, tôi khuyên bạn nên xem qua số analyze api, qua đó bạn thực sự có thể kiểm tra cách trình phân tích hoạt động mà không lập chỉ mục bất kỳ văn bản nào.

1

Đây là tài liệu tốt hơn trong phần custom analyzers. trật tự yea quan trọng trong trường hợp của bạn

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