2013-08-02 30 views
2

我正在开发自动完成功能中,我打算显示的查询建议是这样的:那么形成的查询建议

学生谁住在{CITY_NAME}

[CITY_NAME可以从城市的名单包含值] example_type 1:

学生谁住在新...

[以下查询建议应该弹出]:

学生谁住在纽约
学生谁住在新 新泽西

(仰望不同的实体[在这里城市,体育(例如:“打篮球的学生”等)]。 )

example_type 2:

学生谁住在纽约和播放BA ...

[以下查询建议应该弹出]:

住在纽约的学生名篮球
学生谁 住在纽约发挥棒球
等。

我曾尝试使用ElasticSearch,这是gisted here对实体索引构建基本的自动完成。 (在我的情况下,子/实体索引使用河流插件倾倒)。我对嵌套类型和父/子关系进行了天真的检查,但无法准确判断它的正确性是否符合我的要求。

我不知道如何索引这些(父母)短语以及 子索引以启用自动完成搜索并通过查询/搜索单个索引来生成可能的建议树。

如果我能得到一些帮助来解决这类问题,那将会很棒。 在此先感谢!

+0

是弹性搜索不服务你的目的?我已经开始学习大数据组件以及你问它的好处。 – AKS

回答

0

我倒是指数短语,如:

live in New york 
live in New Jersey 
play basketball 
play baseball 

,然后做一些工作,客户端要弄清楚你已经开始在查询一个新的部分,然后仅在新段发送信件ES向typehead完成。

这将需要一些工作在前端,但我可以看到工作。另一种替代方法是将查询短语中的每个可能的变体索引为typeahead,但我非常怀疑这是可行的。