Thông thường, một tổ chức sẽ có các thuật ngữ độc đáo hoặc nhiều cách để đề cập đến một khái niệm hoặc một sự vật. Bạn nên xác định các từ đồng nghĩa để thiết lập sự tương đương của các thuật ngữ nhằm giúp người dùng tìm thấy các mục khi tìm kiếm.
Từ đồng nghĩa được xác định bằng cách lập chỉ mục các mục bằng giản đồ phổ biến _dictionaryEntry
.
Các mục thuộc loại _dictionaryEntry
có thể có các thuộc tính sau:
Tài sản | Loại | Nội dung mô tả | Bắt buộc? |
---|---|---|---|
_term |
string | Thuật ngữ cần định nghĩa. Giá trị đề xuất là những từ hoặc cụm từ không có dấu gạch nối, không có dấu câu. | Bắt buộc |
_synonym |
string (repeated) | Các thuật ngữ thay thế được đưa vào truy vấn phù hợp với chuỗi đã xác định trong _term . |
Bắt buộc |
_onlyApplicableForAttachedSearchApplications |
boolean | Cho phép bạn nhóm các từ đồng nghĩa theo nguồn dữ liệu và ứng dụng tìm kiếm. Để biết thêm thông tin, hãy xem bài viết Xác định các từ đồng nghĩa cụ thể theo nguồn dữ liệu. | Không bắt buộc |
Khi người dùng đưa giá trị của thuộc tính _term
vào một truy vấn, truy vấn hiệu quả sẽ trở thành "từ đồng nghĩa OR từ đồng nghĩa". Ví dụ: nếu từ khoá "scifi" được định nghĩa với từ đồng nghĩa "science fiction", thì truy vấn chứa từ "scifi" sẽ khớp với các mục chứa "scifi" hoặc "science fiction."
Từ đồng nghĩa không được áp dụng hai chiều. Nếu thay vào đó, cụm từ tìm kiếm đó dành cho "science fiction," Cloud Search sẽ không áp dụng bất kỳ từ đồng nghĩa nào cho truy vấn đó. Truy vấn chỉ khớp các mục chứa "science fiction." Mục chứa "scifi" sẽ bị bỏ qua.
Để làm cho cả hai thuật ngữ có thể thay thế cho nhau, hãy định nghĩa riêng từng thuật ngữ:
Thuật ngữ | Từ đồng nghĩa |
---|---|
scifi | science fiction |
science fiction | scifi |
Trong quá trình xử lý truy vấn, dấu gạch nối và các dấu câu khác sẽ bị xoá trước khi áp dụng từ đồng nghĩa. Truy vấn của người dùng "sci-fi" khớp với _term
"sci fi." Để tạo từ đồng nghĩa cho các cụm từ mà người dùng có thể bị gạch nối, trước tiên, hãy chuẩn hoá _term
để sử dụng khoảng trắng thay vì dấu gạch nối.
Tiếp tục ví dụ, các định nghĩa sau đây khớp với các truy vấn của người dùng coi "sci-fi," "sci fi," "scifi," và "science fiction" là thay thế được cho nhau:
Thuật ngữ | Từ đồng nghĩa |
---|---|
scifi | science fiction, sci fi |
sci fi | science fiction, scifi |
science fiction | scifi, sci fi |
Theo mặc định, các từ đồng nghĩa trong bất kỳ nguồn dữ liệu nào áp dụng trên toàn bộ miền. Cụ thể, từ đồng nghĩa được áp dụng trên các ứng dụng tìm kiếm cho tất cả các lượt tìm kiếm bất kể nguồn dữ liệu. Nếu bạn muốn biết các từ đồng nghĩa cụ thể theo nguồn dữ liệu, hãy tham khảo bài viết Xác định các từ đồng nghĩa cụ thể theo nguồn dữ liệu.
Xác định từ đồng nghĩa chung bằng Cloud Search SDK
Bạn có thể sử dụng SDK Trình kết nối nội dung để xác định thuật ngữ và từ đồng nghĩa của chúng. Xem bài viết Tạo trình kết nối nội dung để biết hướng dẫn về cách xây dựng trình kết nối.
Đoạn mã sau minh hoạ việc xây dựng một RepositoryDoc
đại diện cho thuật ngữ và từ đồng nghĩa dựa trên bản ghi tệp CSV:
Hãy lưu ý những điều sau khi xác định từ đồng nghĩa:
- Các mục nhập từ đồng nghĩa bắt buộc phải được công khai trong miền. Trong ví dụ trước, việc này được thực hiện bằng cách đặt ACL thành
DOMAIN_PUBLIC_ACL
. - Bạn không nên xác định các thuộc tính sau cho tệp cấu hình vì các thuộc tính này ghi đè chế độ cài đặt công khai của miền trong mã của bạn:
defaultAcl.mode=FALLBACK
defaultAcl.public=true
Xác định từ đồng nghĩa dành riêng cho ứng dụng tìm kiếm
Theo mặc định, các từ đồng nghĩa sẽ được áp dụng cho tất cả nguồn dữ liệu trên mọi ứng dụng tìm kiếm.
Tuy nhiên, giả sử tổ chức của bạn có các nhóm kỹ thuật và bán hàng riêng biệt và bạn muốn cung cấp cho mỗi nhóm một trải nghiệm tìm kiếm khác nhau, bao gồm cả các từ đồng nghĩa theo vai trò công việc cụ thể. Trong trường hợp này, bạn có thể tạo một ứng dụng tìm kiếm với nguồn dữ liệu và các từ đồng nghĩa liên quan đến kỹ thuật, cũng như một ứng dụng tìm kiếm khác có nguồn dữ liệu bán hàng cụ thể và các từ đồng nghĩa. Để thực hiện mục tiêu này, hãy lập chỉ mục từng từ đồng nghĩa trong một nguồn dữ liệu cụ thể bằng cách sử dụng _onlyApplicableForAttachedSearchApplications=true
. Chế độ cài đặt này giới hạn các từ đồng nghĩa để chỉ áp dụng cho các ứng dụng tìm kiếm có chứa một nguồn dữ liệu cụ thể.
Ví dụ: việc thêm dòng mã sau vào mã mẫu trước đó đảm bảo các từ đồng nghĩa được lập chỉ mục là các từ cụ thể theo nguồn dữ liệu:
structuredData.put("_onlyApplicableForAttachedSearchApplications", true);