gpt4 book ai didi

elasticsearch - Elasticsearch/发布和搜索附件

转载 作者:行者123 更新时间:2023-12-03 00:34:05 24 4
gpt4 key购买 nike

我正在尝试让Elasticsearch索引.txt文件,以便我可以搜索内容。我已经取得了一些进展,但是搜索部分没有运气。
这是我的映射:

mappings: {
file: {
properties: {
allow_token_share: {
type: string
},
file: {
type: string
},
deny_token_document: {
type: string
},
_name: {
type: string
},
_content_type: {
type: string
},
type: {
type: string
},
uri: {
type: string
},
deny_token_share: {
type: string
},
allow_token_document: {
type: string
}
}
}
}
这是我被索引的文档:
{
_index: f_drive,
_type: file,
_id: file:/C:/Users/ttobinca.EPIC/Documents/Dev/Epicsearch/TestDocs/Test.txt,
_version: 1,
_score: 1,
_source: {
uri: C:\Users\ttobinca.EPIC\Documents\Dev\Epicsearch\TestDocs\Test.txt,
allow_token_document: __nosecurity__,
deny_token_document: __nosecurity__,
allow_token_share: __nosecurity__,
deny_token_share: __nosecurity__,
type: attachment,
_content_type: text/plain,
_name: Test.txt,
file: SSBsaWtlIGhhbWJ1cmdlcnMgYW5kIGhvdGRvZ3MsIGJ1dCBtb3N0bHkgY2hvY29sYXRlLg0KDQpIZWxsbyB3b3JsZC4=
}
}
该文件的内容是:

I like hamburgers and hotdogs, but mostly chocolate.

Hello world.


第一个问题是,该文件是否正确编制了索引?
如果是这样,我该如何搜索该文档的内容?运行此查询不会返回任何结果:
{
"query": {
"query_string": {
"query": "hamburgers"
}
}
}
但这将返回文件。
{
"query": {
"query_string": {
"query": "SSBsaWtlIGhhbWJ1cmdlcnMgYW5kIGhvdGRvZ3MsIGJ1dCBtb3N0bHkgY2hvY29sYXRlLg0KDQpIZWxsbyB3b3JsZC4="
}
}
}

最佳答案

默认情况下不支持对二进制内容建立索引。您必须安装并使用mapper-attachment plugin。这将启用可在映射中使用的自定义attachment类型。这样,elasticsearch将使用apache tika从二进制文件中提取文本并将其索引为文本。只有这样,您才能通过文本查询获得结果。

请考虑到使用附件插件在 flex 搜索节点内的服务器端执行二进制内容的解析,这可能不是一个好主意,因为您将不得不为此在该节点上保留电源和内存而不是使用它来索引和搜索文本。

关于elasticsearch - Elasticsearch/发布和搜索附件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16739680/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com