elasticsearch 用于此完成建议器的Elasticsearch Analyzer是什么?
我对Elasticsearch非常陌生,目前正在尝试了解有关elasticsearch 用于此完成建议器的Elasticsearch Analyzer是什么?,elasticsearch,autocomplete,autosuggest,search-suggestion,query-analyzer,elasticsearch,Autocomplete,Autosuggest,Search Suggestion,Query Analyzer,我对Elasticsearch非常陌生,目前正在尝试了解有关完成建议的分析器 我有一个这样的地方列表: 伦敦 伦敦眼 伦敦地牢 等等 通过将完成建议器的映射设置为以下内容: 'place_suggest': { 'type': 'completion', 'payloads': true, 'index_analyzer' : 'stop', 'search_analyzer' : 'stop', 'preserve_position_inc
完成建议的分析器
我有一个这样的地方列表:
- 伦敦
- 伦敦眼
- 伦敦地牢
- 等等
通过将完成建议器的映射设置为以下内容:
'place_suggest': {
'type': 'completion',
'payloads': true,
'index_analyzer' : 'stop',
'search_analyzer' : 'stop',
'preserve_position_increments' : false
}
当suggesters文本输入只是字母L
然而,我希望当用户键入单词Eye
时返回London Eye
,同样地,当用户键入Dungeon
时返回伦敦地牢
(当然还有这些术语的任何前缀)
在今天的大部分时间里,我一直在使用不同的分析器和设置,但没有成功
我需要使用什么样的分析仪来实现上述功能?您可以使用。使用多个输入字段和单个统一输出。如果其中一个输入字段上存在匹配项,则将返回输出字段
curl -X PUT localhost:9200/places/place/1 -d '
{
"title" : "The London Eye",
"place_suggest" : {
"input" : [
"The London Eye",
"Eye"
],
"output":"The London Eye"
}
}'
curl -X PUT localhost:9200/places/place/2 -d '
{
"title" : "The London Dungeon",
"place_suggest" : {
"input" : [
"The London Dungeon",
"Dungeon"
],
"output":"The London Dungeon"
}
}'
你可以试试这个。我认为这不应该是一个被接受的答案。如果有人试图通过“伦敦”搜索怎么办?我相信在输入中加入“伦敦”将给出输出,但这需要输入。Siddhardha已经在使用完成建议器了。你能通过建议合适的分析器来证明答案的正确性吗?否则我认为这个答案不正确。谢谢