Trong elasticsearch, có cách nào để thiết lập một máy phân tích có thể tạo ra các khoảng trống vị trí giữa các thẻ khi gặp ngắt dòng hoặc dấu chấm câu không?dấu ngắt dòng hoặc dấu chấm câu như các khoảng trống vị trí trong elasticsearch
Hãy nói rằng tôi chỉ một đối tượng với chuỗi vô nghĩa sau đây (với ngắt dòng) là một trong những lĩnh vực của nó:
The quick brown fox runs after the rabbit.
Then comes the jumpy frog.
Máy phân tích tiêu chuẩn sẽ mang lại các thẻ sau đây với các vị trí tương ứng:
0 the
1 quick
2 brown
3 fox
4 runs
5 after
6 the
7 rabbit
8 then
9 comes
10 the
11 jumpy
12 frog
Điều này có nghĩa là truy vấn match_phrase
của the rabbit then comes
sẽ khớp với tài liệu này dưới dạng lần truy cập. Có cách nào để giới thiệu khoảng cách vị trí giữa rabbit
và then
sao cho nó không khớp trừ khi slop
được giới thiệu? Tất nhiên, một giải pháp có thể là biến chuỗi đơn thành mảng (một dòng cho mỗi mục) và sử dụng position_offset_gap
trong ánh xạ trường, nhưng tôi thực sự giữ một chuỗi đơn với dòng mới (và giải pháp cuối cùng sẽ liên quan đến khoảng trống vị trí lớn hơn cho các dòng mới hơn, ví dụ, đối với các dấu chấm câu).