У меня есть приложение Rails с term => definition
s, хранящимися в узлах Neo4j, и я хочу, чтобы мои пользователи выполняли поиск с использованием эластичного поиска. Мы обнаружили, что благодаря использованию они гораздо чаще хотят сначала найти название термина, прежде чем они захотят выполнить поиск по описанию. Но у меня возникли проблемы с поиском функции, которая сначала возвращает результаты для определенного поля, а не для других полей.
[
{
"id": 1,
"data": {
"name": "Foo",
"description": "Something super awesome."
}
},
{
"id": 2,
"data": {
"name": "Bar",
"description": "Something that depends on Foo"
}
}
]
search for "Foo"
Поскольку оба термина содержат слово Foo
либо в имени, либо в описании, мое приложение возвращает данные как в алфавитном порядке, так и поскольку Bar
в алфавитном порядке перед Foo
, первым появляется Bar
. Это может стать очень утомительным, когда мои пользователи ищут общий термин, используемый во многих других терминах.
Как мне вернуть результаты из поля имени, за которым следуют второстепенные результаты в описании?
У меня такое чувство, что это больше связано с neo4j, чем с эластичным поиском