Есть ли способ получить Elasticsearch, предлагающий сопоставление входных данных для автозаполнения? - PullRequest
2 голосов
/ 07 мая 2019

Во-первых, я новичок в Elasticsearch, поэтому я пытаюсь понять, как создать интеллектуальное автозаполнение. Итак, моя ситуация такова:

  • У меня есть база данных PostgreSql, в которой есть некоторые реестры предложений по недвижимости,
  • Я создал службу, которая обновляет эти реестры с некоторой геоинформацией в соответствии с ее расположением в виде типа столбца jsonb;

Итак, я прочитал некоторые статьи с предложением Elasticsearch Completition, чтобы понять, как это работает, и получил заключение проиндексировать документ, на который ссылается таблица моего предложения pgdb, чтобы я мог создать документ с параметрами в текстовом формате, например:

PG TABLE (предложения)

    id |             address                   | parks_around
    1  |Avenida Diógenes Ribeiro de Lima, 2811 |      2
    2  |Avenida Paulista, 1044                 |      1
    2  |Avenida Ibirapuera, 2899               |      0

и затем, когда я синхронизирую свои записи с Elasticsearch, я могу проиндексировать свой документ следующим образом:

    "mappings": {
        "offers": {
            "properties": {
                "external_id": {
                    "type": "integer"
                 },
                "address": {
                    "type": "text"
                 },
                "parks": {
                    "type": "text"
                 },
             }
        }
    }

затем, наконец, индексируйте некоторые документы с помощью контекстных фраз с помощью массового API:

    {index:{}}
    {
        "external_id": 1,
        "address": "Offer in Avenida Diógenes Ribeiro de Lima",
        "parks": "Offer with parks around"
    }  
    {index:{}}
    {
        "external_id": 2,
        "address": "Offer in Avenida Paulista",
        "parks": "Offer with park around"
    }
    {index:{}}
    {
        "external_id": 3,
        "address": "Offer in Avenida Ibirapuera",
        "parks": null
    }

Моя точка зрения такова: должен ли я хранить свои документы как целую фразу, чтобы показывать подсказки по завершению при вводе пользователем?

Может кто-нибудь помочь мне сказать, далеко ли это от идеального решения?

Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...