0

我一直在使用full-text-indexesNeo4j 图形数据库进行搜索。但万一用户输入错误的拼写或查询不匹配任何结果。在这种情况下,有没有办法处理这个或did you mean某种功能?

此外,如何根据用户正在搜索的查询使搜索更智能?我遇到了SearchKick,但这与neography 没有任何集成。

4

1 回答 1

1

您可以在 lucene 查询中引入模糊性。您可以通过在查询中附加一个“~”符号并指定因素来做到这一点,例如name:mistqke~0.8应该仍然找到文本“错误”。模糊因子介于 0 和 1 之间。接近 1 的值将匹配更高的相似性。

如果你想结合通配符和模糊查询,你可以使用这样的东西:

START n=node:index('name:mistqke~0.8 or name:*mistqke*')
RETURN DISTINCT n;

注意 lucene 查询中的“OR”和 RETURN 子句中的“DISTINCT”。

于 2014-09-18T14:53:53.997 回答