gpt4 book ai didi

search - ElasticSearch更精确地匹配

转载 作者:行者123 更新时间:2023-12-03 01:08:04 26 4
gpt4 key购买 nike

我使用 flex 搜索来搜索新闻文章。如果我搜索“弗拉米迪尔·普京”,那是有用的,因为他的新闻很多,而弗拉米迪尔和普京都不太受欢迎。但是,如果我搜索“Raja Ram”,它将无法正常工作。我有几篇关于“Raja Ram”的文章,但有一些关于“Raja Mohanty”和“Ram Srivastava”的文章。这些文章的排名高于引用“Raja Ram”的文章。我的 token 生成器或搜索功能有问题吗?

    es.indices.create(
index="article-index",
body={
'settings': {
'analysis': {
'analyzer': {
'my_ngram_analyzer' : {
'tokenizer' : 'my_ngram_tokenizer'
}
},
'tokenizer' : {
'my_ngram_tokenizer' : {
'type' : 'nGram',
'min_gram' : '1',
'max_gram' : '50'
}
}
}
}
},
# ignore already existing index
ignore=400
)

res = es.search(index="article-index", fields="url", body={"query": {"query_string": {"query": keywordstr, "fields": ["text", "title", "tags", "domain"]}}})

最佳答案

您可以使用elasticsearch的match_phrase选项

但是您不能提及多个搜索字段,而是使用_all字段

您的查询将是
res = es.search(index =“article-index”,fields =“url”,body = {“query”:“match_phrase”:{“_all”:“keywordstr”}}})

关于search - ElasticSearch更精确地匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22698596/

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