gpt4 book ai didi

search - 在ElasticSearch中实现位置搜索

转载 作者:行者123 更新时间:2023-12-03 01:09:11 24 4
gpt4 key购买 nike

我在ElasticSearch中返回错误结果的位置查询遇到问题。

在我们的系统(一个业务搜索引擎)中,每个搜索都需要两个输入:一个位置和一个查询字符串,例如

q=sushi
location=Greenwich Village, New York, New York

我希望搜索首先向我显示格林威治村的寿司,然后向我显示格林威治村之外的寿司,但不要显示非寿司结果。

问题是,由于查询了 location,格林威治村中的任何事物都可以匹配-律师,医生等。我想对ElasticSearch说以下内容:

如果q匹配,则不必定位(可以将寿司归还格林威治村),但如果位置匹配,则不要返回,除非q也匹配(不可以返回格林威治村的非寿司店) 。

有人对如何执行此操作有任何想法吗?

最佳答案

听起来您想搜索“寿司”(您不想要非寿司结果),但按位置对结果进行排序(您首先要格林威治村的结果)。

如果要将位置存储为地理位置,则只需使用距离sort您的结果。

如果location只是一个字段,并且您只能知道企业位于某个位置的内部还是外部,则可以使用Custom Filters Score查询来提高结果在所需位置的相关性。 query部分应包含对“sushi”的搜索,而filters部分应包含对位置的搜索。

关于search - 在ElasticSearch中实现位置搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13199789/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com