Elasticsearch完成建议程序输入字段构造

问题描述

谢谢您对我的查询

我想使用ElasticSeearch完成建议程序构建一个自动建议模块。 索引映射

{
"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中添加的字符串上面是两个单词(置换为2)

自动提示查询

{
        "suggestions":{
            "text":"world","completion": {
                "field" : "suggest"
            }
        }
    }

使用上面的搜索查询,我得到的结果

我的问题是,当我想在弹性搜索添加10个单词的长字符串时,排列将为36,28,800。手动或以编程方式进行操作会花费很长时间,并且会存储在elasticsearch中。

以编程方式通过 我已经使用了CollectionsUtils.permuatations(),但是它花费很长时间并且存储在elasticsearch中。

如何提高性能,或有其他方法构建输入数组

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...