Функция xquery для возврата подходящего текста идет впереди других

Я пытаюсь найти текст "автомобильная гонка" в элементе в моей базе данных. В моем результате возвращены следующие результаты, мне нужно упорядочить результат таким образом, чтобы "автомобильная гонка" была первой после его точного соответствия, а затем другие результаты в порядке возрастания. Любой способ добавить высокий балл к записи результата "автомобильной гонки"?

первая автомобильная гонка
вторая автомобильная гонка
третья автомобильная гонка
автомобильная гонка
снова первая автомобильная гонка
вторая гонка снова
снова третья гонка

1 ответ

Решение

Если у вас есть элементы, значения которых соответствуют перечисленным, вы можете использовать запрос на повышение, чтобы увеличить оценки для совпадений, которые охватывают весь элемент без изменения соответствия:

cts:boost-query(
  cts:element-word-query(xs:QName("myelement"),"car race"),
  cts:element-value-query(xs:QName("myelement"),"car race"))

Запрос значения говорит: "совпадение должно заполнять весь элемент"; В надписи говорится: "Сопоставьте первый запрос, добавьте оценки со второго, если есть совпадение с этим".

Другие вопросы по тегам