【发布时间】:2018-06-23 07:58:23
【问题描述】:
我已使用摄取附件处理器插件在弹性搜索中为我的 pdf 文件编制索引,现在我正在根据 PDF 中的可用内容搜索我的文件。
例如,我的 pdf 中有一些类似的内容。
Hello I m Karthikeyan. My mail id Karthikeyan@gmail.com, My mob no 4573894833.
在使用 Java API 进行搜索时,可以进行如下搜索。
搜索,
Karthikeyan@gmail.com 能够获取文件。
但,
如果我搜索,
@gm 表示我无法获取该文件,我期待我应该获取该文件,因为该文件有我的搜索关键字 @gm。
我该怎么做。 ?
我正在使用标记器,min_gram 和 max_gram 各 3 个。
请找到我使用过的以下 java api,但它们都没有给我预期的结果。
QueryStringQueryBuilder attachmentQB = new QueryStringQueryBuilder("@gm");
请在下面找到我的映射详细信息。
PUT attach_local
{
"settings": {
"analysis": {
"analyzer": {
"custom_analyzer": {
"type": "custom",
"tokenizer": "my_tokenizer",
"char_filter": [
"html_strip"
],
"filter": [
"lowercase",
"asciifolding"
]
}
},
"tokenizer": {
"my_tokenizer": {
"type": "ngram",
"min_gram": 3,
"max_gram": 3,
"token_chars": [
"letter",
"digit"
]
}
}
}
},
"mappings": {
"doc": {
"properties": {
"attachment": {
"properties": {
"content": {
"type": "text",
"analyzer": "custom_analyzer"
},
"content_length": {
"type": "long"
},
"content_type": {
"type": "text"
},
"language": {
"type": "text"
}
}
},
"resume": {
"type": "text"
}
}
}
}
}
【问题讨论】:
标签: java elasticsearch kibana elastic-stack