如何在 SOLR 中索引 URL,以便我可以在网站发布后提高结果
我的 SOLR 中索引了数千个文档,这些文档代表从不同网站爬取的数据。文档的字段之一是 SourceURL,它包含我爬行并索引到此文档中的网页的 URL。
我想使用提升查询来提升特定网站的结果。 例如,我有 4 个文档,每个文档在 SourceURL 中包含以下数据
- https://meta.stackoverflow.com/page1
- http://www.stackoverflow.com/page2
- https://stackoverflow .com/page3
- https://stackexchange.com/page1
我想提升来自 stackoverflow.com 的所有结果,而不是子域(在本例中结果 2 和3).
您知道如何对 url 字段建立索引,然后使用 boost 查询来识别来自特定网站的所有文档吗?就像上面的情况一样?
I have thousands of documents indexed in my SOLR which represents data crawled from different websites. One of the fields of a document is SourceURL which contains the url of a webpage that I crawled and indexed into this Document.
I want to boost results from a specific website using boost query.
For example I have 4 documents each containing in SourceURL the following data
- https://meta.stackoverflow.com/page1
- http://www.stackoverflow.com/page2
- https://stackoverflow.com/page3
- https://stackexchange.com/page1
I want to boost all results that are from stackoverflow.com, and not subdomains (in this case result 2 and 3 ).
Do you know how can I index the url field and then use boost query to identify all the documents from a specific website like in the case above ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
一种方法是在索引时间之前解析 url,并指定它是否是主域(例如 schema.xml 文件中的
primarydomain
布尔字段)。然后,您可以增强查询结果中的
primarydomain
字段。有关如何在查询时增强字段的示例,请参阅使用 Solr Wiki 中的 DisMaxQParserPlugin。One way would be to parse the url prior to index time and specify if it is a primary domain (
primarydomain
boolean field in your schema.xml file for example).Then you can boost the
primarydomain
field in your query results. See using the DisMaxQParserPlugin from the Solr Wiki for an example on how to boost fields at query time.