2017-06-07 65 views
0

我使用Elasticsearch 5.4构建了一个自动完成搜索,突出显示了匹配。突出显示Elasticsearch分隔文本

这是我的搜索查询:

GET statements/_search 
    { 
     "_source": ["uid","textversions.content"], 
     "highlight": { 
     "fields": { 
      "textversions.content": {} 
     } 
     }, 
     "query": { 
     "match": { 
      "textversions.content": { 
      "query": "Informatik", 
      "fuzziness": "AUTO" 
      } 
     } 
     } 
    } 

现在,大多数的结果突出显示正确。这里有一个例子:

{ 
    "_index": "statements", 
    "_type": "statement", 
    "_id": "118", 
    "_score": 15.151196, 
    "_source": { 
     "uid": 118, 
     "textversions": [ 
     { 
      "content": "die Nachfrage nach Informatikern auch groß ist" 
     } 
     ] 
    }, 
    "highlight": { 
     "textversions.content": [ 
     "die Nachfrage nach <em>Informatikern</em> auch groß ist" 
     ] 
    } 
    } 

但我有一些成绩,我的textversions.content不完全在突出显示的版本:

{ 
    "_index": "statements", 
    "_type": "statement", 
    "_id": "252", 
    "_score": 15.809544, 
    "_source": { 
     "uid": 252, 
     "textversions": [ 
     { 
      "content": "es im Informatikstudium darum geht, sich mit Themen, die für einen Informatiker im späteren Leben absolut notwendig sind, auseinanderzusetzen und nicht mit anderen Fächern" 
     } 
     ] 
    }, 
    "highlight": { 
     "textversions.content": [ 
     "es im <em>Informatikstudium</em> darum geht, sich mit Themen, die für einen <em>Informatiker</em> im späteren Leben" 
     ] 
    } 
    } 

,或者分成两个独立的句子:

{ 
    "_index": "statements", 
    "_type": "statement", 
    "_id": "37", 
    "_score": 12.162964, 
    "_source": { 
     "uid": 37, 
     "textversions": [ 
     { 
      "content": "die Abiturzeugnisse über die vorhandenen Informatikkenntnisse sehr wenig aussagen, schließlich haben nur relativ wenige Schulen überhaupt Informatik als ernstzunehmendes Fach" 
     } 
     ] 
    }, 
    "highlight": { 
     "textversions.content": [ 
     "die Abiturzeugnisse über die vorhandenen <em>Informatikkenntnisse</em> sehr wenig aussagen, schließlich", 
     " haben nur relativ wenige Schulen überhaupt <em>Informatik</em> als ernstzunehmendes Fach" 
     ] 
    } 
    } 

有谁知道这种不正当行为的解决方案?

感谢您的帮助。

回答

1

我在文档中找到了答案:我不得不添加“number_of_fragments:0”,所以突出显示不会将我的文本分解为片段并返回完整的内容。