gpt4 book ai didi

python - 谷歌应用引擎搜索 API

转载 作者:太空狗 更新时间:2023-10-30 00:11:14 25 4
gpt4 key购买 nike

GAE Search API 的 Python 版本中查询搜索索引时,搜索首先返回与标题匹配的文档的项目,然后搜索与正文匹配的文档的最佳实践是什么?

例如给定:

body = """This is the body of the document, 
with a set of words"""

my_document = search.Document(
fields=[
search.TextField(name='title', value='A Set Of Words'),
search.TextField(name='body', value=body),
])

如果可能,如何对上述形式的 Document 的索引执行搜索,并返回此优先级的结果,其中要搜索的短语在变量 qs:

  1. title 匹配qs 的文档;然后
  2. 正文匹配 qs 个词的文档。

似乎正确的解决方案是使用 MatchScorer ,但我可能对此不以为然,因为我以前没有使用过此搜索功能。从文档中不清楚如何使用 MatchScorer,但我假设有人将其子类化并重载了一些函数 - 但由于没有记录,而且我没有深入研究代码,所以我不能说当然。

我是否遗漏了什么,或者这是正确的策略吗?我错过了记录此类事情的地方吗?


为了清楚起见,这里有一个更详细的预期结果示例:

documents = [
dict(title="Alpha", body="A"), # "Alpha"
dict(title="Beta", body="B Two"), # "Beta"
dict(title="Alpha Two", body="A"), # "Alpha2"
]

for doc in documents:
search.Document(
fields=[
search.TextField(name="title", value=doc.title),
search.TextField(name="body", value=doc.body),
]
)
index.put(doc) # for some search.Index

# Then when we search, we search the Title and Body.
index.search("Alpha")
# returns [Alpha, Alpha2]

# Results where the search is found in the Title are given higher weight.
index.search("Two")
# returns [Alpha2, Beta] -- note Alpha2 has 'Two' in the title.

最佳答案

自定义评分是我们最优先考虑的功能请求之一。我们希望尽快有一个好的方法来做这类事情。

在您的特定情况下,您当然可以通过执行两个单独的查询来获得所需的结果:第一个查询对“标题”进行字​​段限制,第二个查询对“正文”进行字段限制。

关于python - 谷歌应用引擎搜索 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20659188/

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