我有一个Rails应用程序,其中term => definition
存储在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有关,而不是弹性搜索
答案 0 :(得分:0)
可以通过将术语和字段频率值添加到类型映射中来实现。 http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/scoring-theory.html name":{ "输入":" string", "存储":是的, "规范":{ "启用":false }, " index_options":" docs" }
让我知道任何疑问。