现在有一个功能,有各种类型的文档文件,比如pdf、word等,我要实现对这些文件中的内容进行中文检索。
现使用mapperattachment,来操作。发现检索英文的时候可以,检索中文的时候查找不出结果。
命令如下。
curl -XDELETE 'localhost:9200/test?pretty'
curl -XPUT 'localhost:9200/test?pretty'
curl -XPOST 'localhost:9200/test/_close?pretty'
curl -XPUT 'localhost:9200/test/person/_mapping?pretty' -d'
{
"person": {
"properties": {
"file": {
"type": "attachment",
"fields": {
"content": {
"language" : "zh_cn",
"type": "text",
"analyzer": "ik_max_word",
"search_analyzer": "ik_max_word",
"include_in_all": "true",
"boost": 8,
"term_vector":"with_positions_offsets",
"store": true
}
}
}
}
}
}'
curl -XPUT 'localhost:9200/test/_settings?pretty' -d'
{
"index.mapping.attachment.indexed_chars": -1
}'
curl -XPUT 'localhost:9200/test/_settings?pretty' -d'
{
"index.mapping.attachment.detect_language" : true
}'
curl -XPOST 'localhost:9200/test/_open?pretty'
curl -XPUT 'localhost:9200/test/person/10?refresh=true&pretty' -d'
{
"file": "此处是pdf文件的base64编码,如果附在这里发帖会显示不出来,故略去"
}'
#如下命令检索不到内容,实际此pdf文件中有中字
curl -XGET 'localhost:9200/test/person/_search?pretty' -d'
{
"query": {
"match": {
"file.content": "中"
}
},
"highlight": {
"fields": {
"file.content": {
}
}
}
}'
#如下命令能检索到内容,实际此pdf文件中有haha
curl -XGET 'localhost:9200/test/person/_search?pretty' -d'
{
"query": {
"match": {
"file.content": "haha"
}
},
"highlight": {
"fields": {
"file.content": {
}
}
}
}'
2 个回复
medcl - 今晚打老虎。
赞同来自:
medcl - 今晚打老虎。
赞同来自: