Autocomplete 使用sphinx自动完成搜索

Autocomplete 使用sphinx自动完成搜索,autocomplete,sphinx,Autocomplete,Sphinx,我正在寻找一个非常快速的自动完成解决方案,用于在移动应用程序中显示结果。我使用sphinx作为全文索引解决方案,但我想知道sphinx是否是自动完成搜索的最佳解决方案,因为在搜索索引之后,我需要向mysql查询结果。有更好更快的解决方案吗?您可以使用字符串属性来存储实际文本 然后,您根本不需要返回数据库。可以直接查询斯芬克斯。斯芬克斯在内存中存储属性;因此不会明显降低实际sphinx查询搜索的速度 根据我的经验,斯芬克斯在自动完成方面效果很好 您可以使用字符串属性来存储实际文本 然后,您根本不需

我正在寻找一个非常快速的自动完成解决方案,用于在移动应用程序中显示结果。我使用sphinx作为全文索引解决方案,但我想知道sphinx是否是自动完成搜索的最佳解决方案,因为在搜索索引之后,我需要向mysql查询结果。有更好更快的解决方案吗?

您可以使用字符串属性来存储实际文本

然后,您根本不需要返回数据库。可以直接查询斯芬克斯。斯芬克斯在内存中存储属性;因此不会明显降低实际sphinx查询搜索的速度


根据我的经验,斯芬克斯在自动完成方面效果很好

您可以使用字符串属性来存储实际文本

然后,您根本不需要返回数据库。可以直接查询斯芬克斯。斯芬克斯在内存中存储属性;因此不会明显降低实际sphinx查询搜索的速度


根据我的经验,斯芬克斯在自动完成方面效果很好

Sphinx支持通配符搜索。查看参数“enable_star”。如果将其设置为1并重新启动sphinx,则应该能够使用通配符进行搜索

在狮身人面像中查看


要查找任何单词包含“micro”的匹配项,搜索词必须是“micro”。

Sphinx支持通配符搜索。查看参数“enable_star”。如果将其设置为1并重新启动sphinx,则应该能够使用通配符进行搜索

在狮身人面像中查看


要查找任何单词包含“micro”的匹配项,搜索词必须为“micro”。

如果运行sphinx 2.0.2或更高版本:

index_exact_words = 1

如果您正在运行sphinx 2.0.2或更高版本:

index_exact_words = 1

我需要澄清一下这个问题。您是指用户键入并由系统提示术语的自动建议功能,还是指用户可以键入“micro*”并由系统返回以“micro”开头的所有内容的通配符搜索?您好,Imraan,是的,这很相似。但不仅仅是wordst以开始。我也需要包含在内的词语。我需要问题的明确性。您是指用户键入并由系统提示术语的自动建议功能,还是指用户可以键入“micro*”并由系统返回以“micro”开头的所有内容的通配符搜索?您好,Imraan,是的,这很相似。但不仅仅是wordst以开始。我也需要包含的单词。嗨,巴里,怎么做这个。我已经找了这么多了。你能给我举一个例子,如何在索引中存储关键字并按请求取回关键字,而不需要按id再次询问mysql吗?实际上,它只不过是将列定义为一个字符串属性(或者同时定义一个字符串属性和一个全文字段)——重新为索引编制索引,就可以在结果集中获得数据。如果你不知道结果会是什么样子,试试打印吧。Hi Barry,怎么做。我已经找了这么多了。你能给我举一个例子,如何在索引中存储关键字并按请求取回关键字,而不需要按id再次询问mysql吗?实际上,它只不过是将列定义为一个字符串属性(或者同时定义一个字符串属性和一个全文字段)——重新为索引编制索引,就可以在结果集中获得数据。如果您不知道结果是什么样子,请尝试print\u r()。是的,我尝试了启用星号,但有一个问题-精确匹配。我的配置中有:min\u word\u len=3 min\u prefix\u len=1 enable\u star=1,当我对查询使用“^”。$query.*”时,它会工作,但结果中没有完全匹配。如何解决这个问题?嗨,是的,我试过启用星,但有一个问题-精确匹配。我的配置中有:min\u word\u len=3 min\u prefix\u len=1 enable\u star=1,当我对查询使用“^”。$query.*”时,它会工作,但结果中没有完全匹配。如何解决这个问题?