首先,我是Elasticsearch的新手,所以我试图弄清楚如何构建智能的自动完成功能。所以我的情况是这样的:
因此,我接下来阅读了一些Elasticsearch Completition建议的文章,以了解其工作原理,并得出结论,为引用到pgdb报价表的文档建立索引,因此我可以使用文本格式的参数创建文档,例如:
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
}
我的观点是:我是否必须像完整的短语一样存储我的文档,以便在用户键入时显示完成提示的建议?
有人可以帮我说说它是否离理想解决方案还很远吗?
谢谢。