Функция xquery для возврата подходящего текста идет впереди других
Я пытаюсь найти текст "автомобильная гонка" в элементе в моей базе данных. В моем результате возвращены следующие результаты, мне нужно упорядочить результат таким образом, чтобы "автомобильная гонка" была первой после его точного соответствия, а затем другие результаты в порядке возрастания. Любой способ добавить высокий балл к записи результата "автомобильной гонки"?
первая автомобильная гонка
вторая автомобильная гонка
третья автомобильная гонка
автомобильная гонка
снова первая автомобильная гонка
вторая гонка снова
снова третья гонка
1 ответ
Если у вас есть элементы, значения которых соответствуют перечисленным, вы можете использовать запрос на повышение, чтобы увеличить оценки для совпадений, которые охватывают весь элемент без изменения соответствия:
cts:boost-query(
cts:element-word-query(xs:QName("myelement"),"car race"),
cts:element-value-query(xs:QName("myelement"),"car race"))
Запрос значения говорит: "совпадение должно заполнять весь элемент"; В надписи говорится: "Сопоставьте первый запрос, добавьте оценки со второго, если есть совпадение с этим".