Показать предложение по разным показателям эластичного поиска? - PullRequest
0 голосов
/ 04 июля 2018

Предположим, у меня есть два индекса в эластичном поиске. Первый names содержит пять значений Ram, Shyam, Hari, Dipu, Kishan, а второй profession содержит пять значений, таких как teacher, driver, doctor, bank manager, salesman. Когда кто-то печатает 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 is a doctor at Raman Hospital since 2002. Здесь Ram, doctor, Raman Hospital, 2002 относится к разным индексам. Когда пользователь вводит Ram, я хочу отображать предложения как Ram is a teacher at Basic Boys School Since 2002, Ram is salesman at HUL since 2006. И если есть еще один парень с именем Raman, тогда Raman is driver at Ola since 2012 также должен быть показан как предложение. Для таких поисков есть ли хороший подход, или я должен работать над этим?

Отображение:

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"]
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...