elasticsearch,Javascript,elasticsearch" /> elasticsearch,Javascript,elasticsearch" />

Javascript 显示elasticsearch不同索引的建议?

Javascript 显示elasticsearch不同索引的建议?,javascript,elasticsearch,Javascript,elasticsearch,假设我在elasticsearch中有两个索引。第一个names包含五个值Ram、Shyam、Hari、Dipu、Kishan,第二个profession包含教师、司机、医生、银行经理、推销员等五个值。当有人键入Ra时,我想显示如下建议 Ram is teacher Ram is driver Ram is doctor Ram is bank manager Ram is salesman 类似地,当有人键入Har时,我想显示 Hari is teacher Hari is driver H

假设我在elasticsearch中有两个索引。第一个
names
包含五个值
Ram、Shyam、Hari、Dipu、Kishan
,第二个
profession
包含教师、司机、医生、银行经理、推销员等五个值。当有人键入
Ra
时,我想显示如下建议

Ram is teacher
Ram is driver
Ram is doctor
Ram is bank manager
Ram is salesman
类似地,当有人键入
Har
时,我想显示

Hari is teacher
Hari is driver
Hari is doctor
Hari is bank manager
Hari is salesman
我不想存储所有可能的组合。 另外,假设用户正在寻找的
Ram从2002年起就是拉曼医院的医生。
这里
Ram,医生,拉曼医院,2002
属于不同的索引。当用户键入
Ram
时,我想显示建议,因为
Ram自2002年起是基础男校的一名教师
Ram自2006年起是HUL的一名推销员
。如果还有一个叫
Raman
的家伙,那么
Raman自2012年以来一直是Ola的司机,也应显示为建议。对于这样的搜索,有没有什么好的方法可用,或者我必须努力

映射:

PUT name
{
    "mappings": {
        "_doc" : {
            "properties" : {
                "suggest" : {
                    "type" : "completion",
                    "contexts": [
                        { 
                            "name": "userid",
                            "type": "category"
                        }
                    ]
                }
            }
        }
    }
}
索引:

POST name/_doc/
{
    "suggest": {
        "input": ["BHANU PRAKASH"],
        "contexts": {
            "userid": ["99569858","99156661","90273758","6598242461","65910563"]
        }
    }
}

基本上,您需要进行两次搜索,首先是“名称”中的seachr,而不是使用choosen值在“专业”中进行两次搜索就可以了。但如果我想展示一下,拉姆自2002年以来一直是拉曼医院的医生。这里的
Ram
doctor
Raman医院
2002
属于不同的指标。当用户键入
Ram
时,我想显示建议,因为
Ram自2002年起是基础男校的一名教师
Ram自2006年起是HUL的一名推销员
。如果还有一个叫
Raman
的家伙,那么
Raman自2012年以来一直是Ola的司机,也应显示为建议。对于这样的搜索,有没有什么好的方法可以使用,或者我必须在这方面努力?很好的一点,很抱歉,我不太喜欢elasticsearch来告诉您是否有解决方案。。。我将投票表决这个问题。。。也许你应该将你刚才在问题中写的附加要求包括在内,通过编辑问题你能提供示例索引和文档吗?@Yeikel映射和索引都添加到问题中。所有索引都具有相同的格式。