[英]Combining relevance sorting with word prefix searching in 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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.