在 ArangoDb 中将相关性排序与词前缀搜索相结合?

戴夫·查利斯

在 ArangoDB 中,我使用的搜索视图使用BM25 对结果进行排序,例如:

FOR doc IN someView
SEARCH ANALYZER(doc.description == 'foo', 'text_en')
SORT BM25(doc)
RETURN doc

不过,这只执行完整的单词搜索(即不会匹配包含“foot”、“a Football”等的文档),因此我想改用单词前缀搜索。

我知道这可以通过 FULLTEXT 索引来完成,例如:

FOR doc IN FULLTEXT(someCollection, "description", "prefix:foo")
RETURN doc

但后来我失去了相关性排序。

有没有办法将这两者结合起来,以便我可以执行部分​​单词匹配,同时还可以获得按相关性排序的结果?

安德烈·阿布拉莫夫

您可以使用STARTS_WITH功能,例如

FOR doc IN someView
SEARCH ANALYZER(STARTS_WITH(doc.description, 'foo'), 'text_en')
SORT BM25(doc)
RETURN doc

更多ArangoSearch支持的功能请查看文档:https ://www.arangodb.com/docs/stable/aql/views-arango-search.html

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章