【问题标题】:How can limit the content of the particular document hit on elastic search?如何限制特定文档的内容命中弹性搜索?
【发布时间】:2016-07-27 02:29:05
【问题描述】:
{
"user": "dilbert",
"postDate": "2011-12-12",
"content": "Distribution is hard. Distribution should be easy." ,
"title": "On distributed search"
}
现在如果对此文档进行搜索查询。我得到了全部内容。可以说,如果内容很大,我只想要内容的特定部分获得点击。什么是 API?我在弹性搜索的文档中找不到它来限制大小或线条。
谢谢
【问题讨论】:
标签:
java
search
elasticsearch
【解决方案1】:
您可以通过将size 添加到您的根对象来限制结果集的大小(结果数),即
{
"size": 5,
"query": {
...
}
}
如果每个结果都太大而你只想获取特定的字段,你可以这样做:
{
"_source": {
"include": [ "field1", "field2" ],
"exclude": [ "field3" ]
},
"query": {
...
"
}
【解决方案2】:
好的,我通过 Highlight API 得到了它。您不能限制特定字段的内容大小或字符限制。
这样你只能得到附近的字符,你可以配置你的字符大小。
{
"query" : {...},
"highlight" : {
"number_of_fragments" : 3,
"fragment_size" : 150,
"tag_schema" : "styled",
"fields" : {
}
}