我正在使用Elasticsearch最新版本5.6.4。我想索引特殊字符并搜索字段
标题特殊的
. 以下是我的映射:
PUT index1
{
"mappings": {
"isContainer:false": {
"properties": {
"connectorSpecific": {
"properties": {
"title": {
"type": "text",
"store": true,
"fields": {
"special":{
"type": "text",
"analyzer": "special",
"search_analyzer": "special"
}
}
}
}
}
},
"settings": {
"index": {
"analysis": {
"analyzer": {
"special": {
"filter": [
"lowercase"
],
"tokenizer": "whitespace"
}
}
}
}
}
}
}
}
当我在Kibana中使用术语查询时,
GET index1/_search
{
"query": {
"term": {
"title.special": {
"value": "-unconstrained_net_use_inf_tw"
}
}
}
}
一无所获。但当我进行匹配搜索时,文档确实会返回。例如:。
GET index1/_search
{
"query": {
"match": {
"title.special": {
"value": "-unconstrained_net_use_inf_tw"
}
}
}
}
我的映射中有什么错误吗?如何使术语查询在诸如*、-、+等特殊字符上工作。如有任何帮助,我们将不胜感激