0

我是 solr 的新手。在完成教程练习 1(https://solr.apache.org/guide/8_9/solr-tutorial.html)之后,我可以在我的 loacl 机器上进行一些 solr 查询。

如果我想在没有条件的情况下得到结果,我会做这样的查询

http://127.0.0.1:8983/solr/#/techproducts/query?q=*:*&q.op=OR

这工作得很好。

但是当我切换到“dismax”并尝试获得类似的结果时,我确实需要使用“q.alt”。查询就像

http://127.0.0.1:8983/solr/#/techproducts/query?q.op=OR&defType=dismax&q.alt=*:*

但是,这个查询没有结果,这很奇怪。即使我指定了行,它仍然无法正常工作。

http://127.0.0.1:8983/solr/#/techproducts/query?q.op=OR&defType=dismax&q.alt=*:*&row=0

以前有人遇到过同样的问题吗?

4

1 回答 1

0

这些参数不适用于用户界面 URL;它们用于直接发送到 Solr。用户界面是一个 Javascript 界面,它在幕后与 Solr API 对话。您可以看到您的网址中有一个本地锚点 ( #),这只是基于 javascript 的用户界面用于加载正确页面的引用。

rows参数也被命名为rows,而不是row- 并且与 一起使用时0,不会返回任何文档(在示例中,它是作为使用具有完整计数的构面的示例而给出的 - 您必须要求构面才能有意义)。

查询 Solr 以查找匹配文档的实际 URL 将是:

http://127.0.0.1:8983/solr/techproducts/select?defType=edismax&q.alt=*:*

使用页面时,此 URL 显示在用户界面中的查询结果上方query

通常也没有理由使用dismax,现在也没有edismaxedismax旧的 dismax 处理程序所做的一切和更多的功能也是如此。

于 2021-09-03T06:50:03.693 回答