У меня есть документ - [: Содержит] -> Ключевое слово. Я хотел бы получить все документы, имеющие указанный список ключевых слов. До сих пор мне удалось это сделать:Neo4j - Получить узел, содержащий список детей
Match (d:document)-[:CONTAINS]->(k1:keyword {keyword:"key1"})
WITH d,k1
MATCH (d)-[CONTAINS]->(k2:keyword {keyword:"key2"})
return d, k1, k2
Этот запрос возвращает все документы, содержащие как «key1» и «key2» в качестве ключевых слов. Проблема в том, что запрос должен быть изменен в зависимости от количества ключевых слов, которые я ищу. Можно ли использовать список в качестве параметра поиска и изменить список, а не сам запрос?
Вы хотите, чтобы вы использовали ':' для вашего: CONTAINS отношения, иначе это переменная вместо типа. – InverseFalcon
Кроме того, вы хотите, чтобы документы, содержащие одно или несколько ключевых слов в списке, или должны содержать все ключевые слова в списке? – InverseFalcon
В идеале я мог бы вернуть документы, содержащие одно или несколько ключевых слов, и упорядочить их в порядке убывания в соответствии с количеством совпадений. Другой (менее желательный) вариант - вернуть документы, содержащие ВСЕ ключевые слова. – ganninu93