Định nghĩa từ đồng nghĩa

Các tổ chức thường có thuật ngữ riêng hoặc nhiều cách để đề cập đến cùng một khái niệm. Việc xác định từ đồng nghĩa sẽ thiết lập sự tương đương về thuật ngữ, giúp người dùng tìm thấy các mặt hàng trong quá trình tìm kiếm.

Xác định từ đồng nghĩa bằng cách lập chỉ mục các mục bằng giản đồ _dictionaryEntry nổi tiếng.

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 gạch ngang và dấu câu. Bắt buộc
_synonym string (repeated) Các cụm từ thay thế sẽ được đưa vào những 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 phần 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 thêm giá trị _term vào một cụm từ tìm kiếm, cụm từ tìm kiếm hiệu quả sẽ trở thành "term OR synonyms" ("cụm từ HOẶC từ đồng nghĩa"). Ví dụ: nếu bạn xác định "scifi" bằng từ đồng nghĩa "science fiction", thì một cụm từ tìm kiếm cho "scifi" sẽ khớp với các mục chứa một trong hai cụm từ.

Theo mặc định, từ đồng nghĩa không có tính hai chiều. Cụm từ tìm kiếm cho "science fiction" chỉ khớp với cụm từ chính xác đó, trừ phi bạn cũng xác định cụm từ đó là một từ có "scifi" làm từ đồng nghĩa. Để các cụm từ có thể thay thế cho nhau, hãy xác định từng cụm từ riêng biệt:

Thuật ngữ Từ đồng nghĩa
scifi science fiction
science fiction scifi

Quá trình xử lý truy vấn sẽ loại bỏ dấu gạch ngang và dấu chấm câu trước khi áp dụng từ đồng nghĩa. Một truy vấn cho "sci-fi" khớp với cụm từ "sci fi". Để hỗ trợ các thuật ngữ có dấu gạch ngang, hãy chuẩn hoá _term để sử dụng khoảng trắng thay vì dấu gạch ngang.

Ví dụ về các trường hợp 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 sẽ áp dụng cho toàn bộ miền và tất cả các ứng dụng tìm kiếm. Để giới hạn các từ đồng nghĩa này, hãy xem 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

Sử dụng Content Connector SDK để xác định các thuật ngữ và từ đồng nghĩa. Hãy xem phần Tạo trình kết nối nội dung để biết thông tin chi tiết.

Đoạn mã này tạo RepositoryDoc từ một bản ghi CSV:

DictionaryConnector.java
/**
 * Creates a document for indexing.
 *
 * For this connector sample, the created document is domain public
 *  searchable. The content is a simple text string.
 *
 * @param record The current CSV record to convert
 * @return the fully formed document ready for indexing
 */
private ApiOperation buildDocument(CSVRecord record) {
  // Extract term and synonyms from record
  String term = record.get(0);
  List<String> synonyms = StreamSupport.stream(record.spliterator(), false)
      .skip(1) // Skip term
      .collect(Collectors.toList());

  Multimap<String, Object> structuredData = ArrayListMultimap.create();
  structuredData.put("_term", term);
  structuredData.putAll("_synonym", synonyms);

  if (Configuration.getBoolean("dictionary.attachedToSearchApp", false).get()) {
    structuredData.put("_onlyApplicableForAttachedSearchApplications", true);
  }

  String itemName = String.format("dictionary/%s", term);

  // Using the SDK item builder class to create the item
  Item item =
      IndexingItemBuilder.fromConfiguration(itemName)
          .setItemType(IndexingItemBuilder.ItemType.CONTENT_ITEM)
          .setObjectType("_dictionaryEntry")
          .setValues(structuredData)
          .setAcl(DOMAIN_PUBLIC_ACL)
          .build();

  // Create the fully formed document
  return new RepositoryDoc.Builder()
      .setItem(item)
      .build();
}

Các điểm quan trọng cần lưu ý:

  • Các mục từ đồng nghĩa phải thuộc miền công khai. Ví dụ: bạn có thể đặt ACL thành DOMAIN_PUBLIC_ACL.
  • Tránh các chế độ cài đặt trong tệp cấu hình ghi đè chế độ này, chẳng hạn như defaultAcl.mode=FALLBACK hoặc defaultAcl.public=true.

Xác định từ đồng nghĩa dành riêng cho ứng dụng tìm kiếm

Để cung cấp từ đồng nghĩa theo nhóm cụ thể (ví dụ: cho kỹ thuật so với bán hàng), hãy lập chỉ mục từng từ đồng nghĩa bằng _onlyApplicableForAttachedSearchApplications=true. Thao tác này sẽ giới hạn từ đồng nghĩa trong các ứng dụng tìm kiếm có chứa nguồn dữ liệu cụ thể.

Ví dụ:

structuredData.put("_onlyApplicableForAttachedSearchApplications", true);