Neo4j - Как придать больший вес недавней временной метке в полнотекстовой индексации? - PullRequest
0 голосов
/ 08 мая 2020

Я создал полнотекстовый индекс с именем messageText для свойства text узла Message .

CALL db.index.fulltext.createNodeIndex('messageText', ['Message'], ['text'])

В том же узле (Сообщение) у меня есть другое свойство с именем created , которое содержит временную метку, в которую был создан узел. Можно ли изменить индекс, чтобы придать больший вес недавно созданным сообщениям? То есть, если есть 2 одинаковых текстовых значения, присвойте более высокий балл узлу, имеющему последнее значение временной метки.

1 Ответ

1 голос
/ 12 мая 2020

Вы можете настроить счет самостоятельно.

Например, вы можете увеличить необработанный score, добавив обратную разницу между текущим временем и created:

WITH timestamp() AS now
CALL db.index.fulltext.queryNodes('messageText', 'Hello') YIELD node, score
RETURN node, score + 1.0/(now - node.created) AS adjustedScore

Чем дальше время created, тем меньше корректировка.

...