Elasticsearch 文档——"input" 键有什么作用?
Elasticsearch document -- what does the "input" key do?
我在遗留代码库中工作,我的文档正在 ElasticSearch 中编入索引,如下图所示。我正在尝试使用这些 "input"
键确定下图中使用的 ElasticSearch 的哪些特性或功能部分。
我需要知道的原因是因为我有理由怀疑 OpenSearch 不支持此功能或其他功能,特别是由于围绕这些字段突然出现的错误(我最近升级了)。但是,在使用我当前版本的 ElasticSearch 时,我可以执行成功查询这些字段的搜索,执行如下所示的操作。但是,相同的代码在 OpenSearch 的更新版本中不起作用:
from elasticsearch import Elasticsearch, RequestsHttpConnection
ELASTICSEARCH_URL = "localhost:9200/"
ES_CLIENT = Elasticsearch(
[ELASTICSEARCH_URL],
connection_class=RequestsHttpConnection
)
q = "Brian Peterson"
queries = (MatchPhrasePrefix(full_name=q))
s = (
Search(using=client, index="riders")
.query(queries)
.highlight_options(order="score")
.extra(from_=0, size=25)
)
hits = s.execute().hits
result = hits.hits[0]
我找不到任何对 input
的引用,在旧的或新的文档、发行说明或任何东西中都是这样使用的。有谁知道这个 "input"
键应该做什么?有什么猜测吗?也许这只是一个旧错误?我需要确切地知道才能轻松删除它。
看起来有点像这个功能,与“观察者”有关,但格式不同:https://www.elastic.co/guide/en/elasticsearch/reference/6.3/input-simple.html.
当我搜索“Elasticsearch DSL 输入”或类似内容时,我也找到了对 LogStash 插件的引用。
我们使用的 ElasticSearch 版本可能是 6.3.2 版。
它通常用于 completion
领域,用于构建 completion suggesters。
您的 MatchPhrasePrefix
查询不应 return 任何内容,因为完成字段的工作方式与我上面分享的 link 中所述不同。您应该得到以下错误:
failed to create query: Can only use phrase prefix queries on text fields - not on [full_name] which is of type [completion]
据我所知,Opensearch 也支持建议者。
我在遗留代码库中工作,我的文档正在 ElasticSearch 中编入索引,如下图所示。我正在尝试使用这些 "input"
键确定下图中使用的 ElasticSearch 的哪些特性或功能部分。
我需要知道的原因是因为我有理由怀疑 OpenSearch 不支持此功能或其他功能,特别是由于围绕这些字段突然出现的错误(我最近升级了)。但是,在使用我当前版本的 ElasticSearch 时,我可以执行成功查询这些字段的搜索,执行如下所示的操作。但是,相同的代码在 OpenSearch 的更新版本中不起作用:
from elasticsearch import Elasticsearch, RequestsHttpConnection
ELASTICSEARCH_URL = "localhost:9200/"
ES_CLIENT = Elasticsearch(
[ELASTICSEARCH_URL],
connection_class=RequestsHttpConnection
)
q = "Brian Peterson"
queries = (MatchPhrasePrefix(full_name=q))
s = (
Search(using=client, index="riders")
.query(queries)
.highlight_options(order="score")
.extra(from_=0, size=25)
)
hits = s.execute().hits
result = hits.hits[0]
我找不到任何对 input
的引用,在旧的或新的文档、发行说明或任何东西中都是这样使用的。有谁知道这个 "input"
键应该做什么?有什么猜测吗?也许这只是一个旧错误?我需要确切地知道才能轻松删除它。
看起来有点像这个功能,与“观察者”有关,但格式不同:https://www.elastic.co/guide/en/elasticsearch/reference/6.3/input-simple.html.
当我搜索“Elasticsearch DSL 输入”或类似内容时,我也找到了对 LogStash 插件的引用。
我们使用的 ElasticSearch 版本可能是 6.3.2 版。
它通常用于 completion
领域,用于构建 completion suggesters。
您的 MatchPhrasePrefix
查询不应 return 任何内容,因为完成字段的工作方式与我上面分享的 link 中所述不同。您应该得到以下错误:
failed to create query: Can only use phrase prefix queries on text fields - not on [full_name] which is of type [completion]
据我所知,Opensearch 也支持建议者。