谢谢你通过我的询问。
我想用elasticseearch completion suggester构建一个自动建议模块。索引Map
{
"mappings":{
"suggestion":{
"properties":{
"name":{"type":"string"},
"suggest":{
"type":"completion",
"payloads":false
}
}
}
}
数据输入查询
{
"name":"Hello world",
"suggest":{
"input":["Hello world","world hello"]
"output":"Hello world",
"weight":100
}}
我在elasticsearch中添加的字符串上面有两个单词(permutation将是2)
自动建议查询
{
"suggestions":{
"text":"world",
"completion": {
"field" : "suggest"
}
}
}
使用上面的搜索查询,我得到的结果
我的问题是,当我想在ElasticSearch中添加一个10个单词的长字符串时,排列将是36,28800。在elasticsearch中,以手动或编程方式执行此操作需要很长的时间和存储空间。
通过编程,我使用了collectionsutils.permutations(),但在elasticsearch中需要很长时间和存储空间。
如何提高性能?是否有其他方法来构建输入数组
暂无答案!
目前还没有任何答案,快来回答吧!