Solr 索引时间字段提升
有没有办法存储带有一串单独增强的关键字的字段?示例:在单个字段中存储...“科学”^2.0、“车辆”^8.0、“犯罪”^11.0?
Is there a way to store a field with a string of individually boosted keywords? Example: storing... 'Science'^2.0, 'Vehicles'^8.0, 'Crimes'^11.0 in a single field?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
索引时间提升确实仅应用于每个字段,并且您无法提升通过 copyfield 的术语(将一堆增强字段复制到未增强字段中)并让每个副本都获得提升)。
但是,您可以 使用这个 hack 来创建通过将一个术语多次复制到同一字段中来获得您自己的“提升”。如果您使用复制的字段而不是原始字段进行搜索查询,它将“提高”术语的相关性。然而,这不会是“精确”的推动。
Index-time boosts are indeed only applied per field, and you cannot boost terms via copyfield (copy a bunch of boosted fields into an unboosted field and have the boost apply per copy).
However, you can use this hack to create your own "boost" by copying a term multiple times into the same field. It will "boost" the relevancy of the term if you use the copied field instead of the original for search queries. It will not, however, be an "exact" boost.
否。索引时间提升应用于每个文档和/或< a href="http://wiki.apache.org/solr/UpdateXmlMessages#Optional_attributes_for_.22field.22" rel="nofollow">每个字段。
您当然可以在查询时使用关键字增强。
另一种选择(取决于您的具体需要)是使用 Payloads
No. Index-time boosts are applied per-doc and/or per-field.
You may of course use keyword boosting at query-time.
Another option (depending on what you need concretely) would be using Payloads