Thông thường, một tổ chức sẽ có thuật ngữ riêng hoặc nhiều cách để đề cập đến một khái niệm hoặc sự vật. Bạn nên xác định từ đồng nghĩa để thiết lập tính 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 đồ _dictionaryEntry
quen thuộc.
Các mục thuộc loại _dictionaryEntry
có thể có các thuộc tính sau:
Thuộc tính | Loại | Mô tả | Bắt buộc? |
---|---|---|---|
_term |
string | Thuật ngữ cần xác định. Bạn nên sử dụng các từ hoặc cụm từ không có dấu câu và không được nối với nhau. | Bắt buộc |
_synonym |
string (repeated) | Các cụm từ thay thế sẽ được đưa vào các cụm từ tìm kiếm khớp với chuỗi được 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 từ đồng nghĩa dành riêng cho 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 có hiệu lực sẽ trở thành "từ khoá HOẶC từ đồng nghĩa". Ví dụ: nếu từ "scifi" được xác định bằng 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 theo hai chiều. Nếu cụm từ tìm kiếm là dành cho "science fiction,", thì Tìm kiếm trên đám mây sẽ không áp dụng từ đồng nghĩa nào cho cụm từ tìm kiếm đó. Cụm từ tìm kiếm chỉ khớp với các mục chứa "science fiction.". Các mục chứa "scifi" sẽ bị bỏ qua.
Để có thể thay thế cả hai thuật ngữ, hãy xác định 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 từ mà người dùng có thể thêm dấu 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 truy vấn của người dùng coi "sci-fi," "sci fi," "scifi," và "science fiction" là có thể thay thế 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, từ đồng nghĩa trong bất kỳ nguồn dữ liệu nào đều áp dụng cho 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 sử dụng từ đồng nghĩa dành riêng cho nguồn dữ liệu, hãy tham khảo phần Xác định từ đồng nghĩa dành riêng cho nguồn dữ liệu.
Xác định từ đồng nghĩa chung bằng SDK Cloud Search
Bạn có thể sử dụng SDK Content Connector để xác định các thuật ngữ và từ đồng nghĩa của các thuật ngữ đó. Hãy xem phần Tạo trình kết nối nội dung để biết hướng dẫn về cách tạo trình kết nối.
Đoạn mã sau đây minh hoạ cách tạo 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:
- Mục từ đồng nghĩa phải thuộc miền công khai. Trong ví dụ trước, bạn có thể thực hiện việc này 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 sẽ ghi đè chế độ cài đặt miền công khai trong mã:
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, từ đồng nghĩa được áp dụng cho tất cả cá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ỹ sư và bán hàng riêng biệt, đồng thời 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 dành riêng cho vai trò công việc. Trong trường hợp này, bạn có thể tạo một ứng dụng tìm kiếm bằng từ đồng nghĩa và nguồn dữ liệu dành riêng cho kỹ thuật, còn một ứng dụng tìm kiếm khác bằng từ đồng nghĩa và nguồn dữ liệu dành riêng cho hoạt động bán hàng. Để hoàn thành 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 _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 đó sẽ đảm bảo các từ đồng nghĩa được lập chỉ mục là dành riêng cho nguồn dữ liệu:
structuredData.put("_onlyApplicableForAttachedSearchApplications", true);