es版本7.12
问题:怎么对标点符号用unicode编码,后面还有英文标签的内容用query_string字段查询编写,查询使用的分词器和dsl语句怎么写。
例如:
需要查询的文本内容“文本内容\u003e\u003cbody html href文本内容”(文本内容是指其他文本内容)
需要用query_string字段查询包含body,html,href的所有内容
之前分词用的默认分词器,查询的内容分词成body,html,href,但是由于body前面有\u003e\u003c所以一直不成功。求大神解答
问题:怎么对标点符号用unicode编码,后面还有英文标签的内容用query_string字段查询编写,查询使用的分词器和dsl语句怎么写。
例如:
需要查询的文本内容“文本内容\u003e\u003cbody html href文本内容”(文本内容是指其他文本内容)
需要用query_string字段查询包含body,html,href的所有内容
之前分词用的默认分词器,查询的内容分词成body,html,href,但是由于body前面有\u003e\u003c所以一直不成功。求大神解答
1 个回复
a2dou
赞同来自:
试试在analyzer里加上charfilter的映射,会把你的输入的unicode编码转换成标点符号,这样不管是索引文本还是检索输入文本,最终索引的都是标点符号。
GET /_analyze
{
"tokenizer": "keyword",
"char_filter": [
{
"type": "mapping",
"mappings": [
"\u003e => <",
"\u003c => >"
]
}
],
"text": "My license plate is \u003e\u003c"
}
response
{
"tokens": [
{
"token": "My license plate is <>",
"start_offset": 0,
"end_offset": 22,
"type": "word",
"position": 0
}
]
}