gpt4 book ai didi

search - ElasticSearch:全文搜索变得容易

转载 作者:行者123 更新时间:2023-12-02 22:40:26 26 4
gpt4 key购买 nike

我正在研究从ElasticSearch切换到SphinxSearch的可能性。
SphinxSearch的优点是-全文搜索可以在bot上很好地发挥作用。使它在ElasticSearch上工作似乎不像我预期的那么容易。

在我的项目中,我有一个带有typeahead的搜索框,这意味着我输入了Clint E并首先看到包含Clint Eastwood的结果的下拉列表。键入robert down并首先查看Robert Downey Jr.。我用SphinxSearch开箱即用地获得了所有这些,只是提供了我的数据库凭据和SQL查询来提取必要的字段。

另一方面,即使经过一天阅读有关Fuzzy Like This Querymatchingpartial matching等的信息,使用ElasticSearch也无法获得令人满意的结果。很多信息,但这并不能使任务变得更容易。我觉得我需要在搜索 Realm 获得博士学位,才能使其在最简单的水平上发挥作用。

到目前为止,我最终完成了这样的配置

{
"settings": {
"analysis": {
"analyzer": {
"stem": {
"tokenizer": "standard",
"filter": [
"standard",
"lowercase",
"stop",
"porter_stem"
]
}
}
}
},
"mappings": {
"movies": {
"dynamic": true,
"properties": {
"title": {
"type": "string",
"analyzer": "stem"
}
}
}
}
}

查询看起来像这样:
{
"query": {
"query_string": {
"query": "clint eastw"
"default_field": "title"
}
}
}

但是在这种情况下,搜索质量根本不能令人满意-回到我的示例中,直到我完全键入他的名字,它才能找到 Clint Eastwood配置文件。

然后我尝试使用
{
"query": {
"fuzzy_like_this": {
"fields": [
"title"
],
"like_text": "clint eastw",
"max_query_terms": 25,
"fuzziness": 0.5
}
}
}

它有帮助,但作用不大,现在我可以用较短的请求 clint eastwo以及在对 clint eastw参数进行一些操作后找到所需的内容,但仍然不令人鼓舞。

所以我想知道,有一个简单的秘诀是如何使用 ElasticSearch进行全文搜索并获得不错的结果质量。我花了一天的时间,但没有找到解决方案。

几幅图像演示了我在说什么:

flex ,名称几乎完整,但没有预期的结果,请注意,也没有更好的匹配。

Search 1

一个字母后,松紧找到了!

Search 2

同时狮身人面像闪闪发光:)

Search 3

最佳答案

Elasticsearch带有auto completion suggester
您无需将其放入查询功能中,它的工作方式是在 token 级别而不是在部分 token 级别。
作为完成提示器,它也支持模糊逻辑。

关于search - ElasticSearch:全文搜索变得容易,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33096686/

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