I am working in a legacy codebase, and I have documents that are being indexed in ElasticSearch that look like the below image. I am trying to determine what feature or functional part of ElasticSearch is being used in the image below, with these "input"
keys.
The reason I need to know is because I have reason to suspect that this feature or whatever it is, is not supported by OpenSearch, due to bugs cropping up around these fields in particular (I recently upgraded). However, I can perform a search that successfully queries for these fields when using my current version of ElasticSearch, doing something like the below. However, the same code does not work in an updated version of OpenSearch:
from elasticsearch import Elasticsearch, RequestsHttpConnection
from elasticsearch.client.indices import IndicesClient
ELASTICSEARCH_URL = "localhost:9200/"
ES_CLIENT = Elasticsearch(
[ELASTICSEARCH_URL],
connection_class=RequestsHttpConnection
)
indices_client = IndicesClient(client=client)
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]
I can't find any reference to input
, used this way, in old or new documentation, release notes or anything. Does anyone know what this "input"
key is supposed to do? Any guesses? Is it just an old bug, maybe? I need to know definitively in order to be comfortable removing it.
It looks a bit like this feature, related to "watchers", but the format is different: https://www.elastic.co/guide/en/elasticsearch/reference/6.3/input-simple.html.
I also find references to LogStash plugins when I search for "Elasticsearch DSL input" or similar things.
The version we were using of ElasticsSearch was possibly version 6.3.2.
CodePudding user response:
It's usually used in completion
fields for building completion suggesters.
Your MatchPhrasePrefix
query should not return anything as completion fields work differently as explained in the link I shared above.
As far as I know, Opensearch also supports suggesters.