gpt4 book ai didi

java - 我应该在 Solr(或任何数据库)中索引或存储这些字段吗?

转载 作者:行者123 更新时间:2023-11-30 23:42:12 26 4
gpt4 key购买 nike

背景:
我有一个 cclassifieds 网站,用户可以搜索汽车,并指定价格范围、里程、燃料类型、变速箱和手动输入的查询字符串(如果他们喜欢将特定内容放入搜索中,例如“bmw m3”)。

问题:
我正准备将此信息移动到 Solr 以加快查找速度,想知道是否必须索引或存储这些字段。

用户可以搜索的唯一字段实际上是分类的“标题”和“描述”。但是,正如我上面提到的,他们可以指定例如价格范围。

所以我想应该为“标题”和“描述”字段编制索引吧?但是价格字段和任何其他子选项字段是否也应该被索引?

在 MySQL 查询中,查询语法是这样的,因此您可以与我所说的进行比较:(可能包含错误,具体忘记了它们是如何写的)

  $query="SELECT * FROM cars_category WHERE headline='bmw m3' OR description='bmw m3' AND price BETWEEN 10000 AND 500000 AND fuel='petrol' AND etc etc";

那么你怎么看,索引/存储所有字段还是什么?

是否有一种方法可以确定存储什么和索引什么,或者两者兼而有之?

谢谢

PS:感谢描述性的回答

最佳答案

我同意:任何你要搜索或排序的东西都应该被索引。

然而,搜索和排序通常在具有不同值的字段(即 Make 字段,包含“Acura”、“BMW”、“Chevy”等)而不是大的自由文本字段(如描述)上效果更好。您可能会考虑这样做以获得更好的搜索结果和更好的性能。

在您的情况下,我建议将价格、燃料、标题和您正在搜索的任何其他不同字段编入索引。

Description 索引只有在您搜索 Description = "BMW M3"时才有用。但是,该搜索逻辑将忽略诸如“带倍耐力轮胎的红色 BMW M3”之类的结果。搜索 Description LIKE "%BMW M3%"无论如何都必须扫描整个表,因此索引不会很有用。

关于java - 我应该在 Solr(或任何数据库)中索引或存储这些字段吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2141486/

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