我在遺留代碼庫中作業,并且我有正在 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 插件的參考。
我們使用的 ElasticsSearch 版本可能是 6.3.2 版本。
uj5u.com熱心網友回復:
它通常用于completion構建完成建議的欄位。
您的MatchPhrasePrefix查詢不應回傳任何內容,因為完成欄位的作業方式與我在上面共享的鏈接中的說明不同。您應該收到以下錯誤:
未能創建查詢:只能在文本欄位上使用短語前綴查詢 - 而不是在 [完整] 型別的 [全名] 上
據我所知,Opensearch 也支持推薦者。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/481756.html
