我正在尝试使用我的ElasticSearch结果显示突出显示。
我运行此查询时没有遇到任何语法错误,但也没有看到任何突出显示。您能建议我可能出错的地方吗?
search_query = {
'query': {
'multi_match': {
'query': query,
'fields': ['title', 'text']
}
},
'highlight': {
'pre_tags': ['<b>', '<em>'],
'post_tags': ['</b>', '</em>'],
'fields': {
'title': {}
}
}
}
我的结果显示了我期望返回的所有字段,但没有显示highlight
字段。
我已经尝试了类似语法的几个版本。
编辑:添加示例文档。
doc = {
title: 'The website title',
image: 'https://thedomain.com/images/sample_image.jpg',
text: 'blah blah blah .. etc.'
}
检索词示例:“网站”
我在创建索引的代码中添加了一个Map。
Map为:
request_body = {
"settings": {
"number_of_shards": 1,
"number_of_replicas": 1
},
"mappings": {
"properties": {
"title": {
"type": "text",
"index": 'true'
}
}
}
}
创建索引的代码为:
es = Elasticsearch([{'host': 'localhost', 'scheme': 'http', 'port': 9200}])
es.indices.create(index=index_name, body=request_body)
1条答案
按热度按时间zxlwwiss1#
我不知道你是否有某种类型的分析器在外地,但运行下面的例子在kibana devTools我得到了一个积极的结果。
结果