我有一个 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 的关系比弹性搜索更重要