简体   繁体   English

将关联排序与ArangoDb中的单词前缀搜索结合在一起?

[英]Combining relevance sorting with word prefix searching in ArangoDb?

In ArangoDB, I'm using a search view that sorts results using BM25 , something like: 在ArangoDB中,我使用的搜索视图使用BM25对结果进行排序,例如:

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

This only performs full word searching though (ie will not match documents containing eg "foot", "a football"), so I'd like to use word prefix searching instead. 不过,这只会执行完整的单词搜索(即不会匹配包含“ foot”,“ a football”的文档),因此我想改用单词前缀搜索。

I know this can be done with FULLTEXT indexes, eg: 我知道这可以通过FULLTEXT索引来完成,例如:

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

but then I lose the relevance sorting. 但随后我失去了相关性排序。

Is there a way to combine both of these so that I can perform partial word matching, but also get results ordered by relevance? 有没有一种方法可以将这两种方法结合在一起,以便我可以执行部分​​单词匹配,还可以根据相关性对结果进行排序?

You can use STARTS_WITH function, eg 您可以使用STARTS_WITH函数,例如

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

For more functions supported by ArangoSearch please check the documentation: https://www.arangodb.com/docs/stable/aql/views-arango-search.html 有关ArangoSearch支持的更多功能,请查看文档: https ://www.arangodb.com/docs/stable/aql/views-arango-search.html

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM