问题标签 [sunspot-solr]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
409 浏览

sunspot - 如何在太阳黑子中配置 edismax 处理程序?

谁能解释如何开始在太阳黑子中使用 edismax 请求处理程序?

我想在我的应用程序中使用通配符搜索。目前 dismax 处理程序在那里。我搜索并发现 edismax 是通配符搜索的唯一选项。*请给我一些特定的教程,以便我可以遵循相同的方法。*我在我的应用程序中搜索了 edismax,但没有找到任何位置。我还检查了 solrconfig.xml 和 schema.xml。请告诉我如何在 sunspot 中激活和停用请求处理程序。提前致谢

0 投票
1 回答
342 浏览

solr - 如何确保 solr 返回按位置相关性与关键字相关性排序的结果

我有一个模型,它有一个位置和描述/标题,这个信息在 Solr 中被索引。当我搜索数据时,我试图先按位置,然后按关键字来确定相关性,但是,我似乎无法完成它 - 如果同时提供关键字和位置,则结果首先按关键字排序。

搜索被定义为

如果它有帮助,当没有提供关键字时,结果已经按位置排序

0 投票
2 回答
2099 浏览

ruby-on-rails - Sunspot Solr Search like Rails 活动记录 'LIKE' 搜索

嗨,我一直在我的应用程序中使用普通的 rails 活动记录 LIKE 搜索,我开始使用 sunspot solr 搜索。我希望它尽可能接近 Rails LIKE 搜索。


葡萄酒.rb


solr/conf/schema.xml


application_controller.rb


search1
search_string = "大"

@solr_search_results
186 Grand Reserve
688 Grand Plaisir Cabernet Sauvignon Shiraz Malbec Petit Verdot Cabernet Franc
760 Grand Vin Blanc
768 Grand Rouge
857 Premier Grand Cru
1067 Grand Classique
1584 Grand Vin De Glenelly 3389
Grand Constance Muscat
3708 Grand Cuvèe Brut
3857 Grand Constance Muscat

@rails_search_results
Grand Reserve
688 Grand Plaisir Cabernet Sauvignon Shiraz Malbec Petit Verdot Cabernet Franc
760 Grand Vin Blanc
768 Grand Rouge
857 Premier Grand Cru
969 River Grandeur Cape Blend
972 River Grandeur Cabernet Sauvignon
973 River Grandeur Chardonnay
974 River Grandeur Chenin Blanc
975 River Grandeur Pinotage
976 River Grandeur Sauvignon Blanc
977 River Grandeur Shiraz
978 River Grandeur Rose
1067 Grand Classique
1584 Grand Vin De Glenelly
3389 Grand Constance Muscat
3708 Grand Cuvèe Brut
3857 Grand Constance Muscat

似乎 Solr 没有找到条目里面有“Grandeur”,它只找到了完全匹配?我怎样才能解决这个问题?


search2
search_string = "路"

@solr_search_results
200 Dassies Rood Cinsaut Cabernet Sauvignon Ruby Cabernet
3198 Dassies Rood Cinsaut Cabernet Sauvignon Ruby Cabernet
3394 Rood

@rails_search_results
200 Dassies Rood Cinsaut Cabernet Sauvignon Ruby Cabernet
483 Roodeberg Red Cabernet Sauvignon Shiraz Merlot
484 Roodeberg White Sauvignon Blanc Chardonnay Chenin Viognier
1113 Zevenrood
3044 Roodewal
3198 Dassies Rood Cinsaut Cabernet Sauvignon Ruby Cabernet
3394 Rood
3477 Roodeberg Red
3478 Roodeberg White
3594 Roodeberg White
360​​4 Roodeberg Red

同样的事情发生在这里,当search_string = 'rood'时solr没有找到'Roodeberg',它只找到了完全匹配


更新

向 schema.xml 添加 nGram 过滤器以进行部分匹配,感谢 DanS
但仍未显示所有结果

应用程序/solr/conf/schema.xml



它仍然没有完全按照我的意愿去做,看看下面的例子

search3
search_string = "merl"

@solr_search_results
130 Merlot
202 Merlot
306 Merlot
336 Merlot
556 Merlot
579 Merlot
592 Merlot
623 Merlot
640 Merlot
689 Merlot
694 Merlot
714 Merlot
776 Merlot
790 Merlot
841 Merlot
865 Merlot
891 Merlot
947 Merlot
1015 Merlot
1045 Merlot
1046 Merlot
1073 Merlot
1075 Merlot
1089 Merlot
1096 美乐
1111 美乐
1121 美乐
1144 美乐
1145 美乐
1169 美

乐 @rails_search_results
34 Cavalier Reserve Blend Merlot Cabernet Franc Cabernet Sauvignon Shiraz
129 Matt Black Cabernet Sauvignon Shiraz Merlot Petit Verdot Mourvedre Pinotage
130 Merlot
202 Merlot
240 Grappa Cabernet Merlot Premium
306 Merlot
336 Merlot
416 Dry Rosè Merlot
477 Orchestra Cabernet Sauvignon Malbec Merlot Cab Franc
Sh​​iraz 483 Roodeberg Red赤霞珠 设拉子 美乐
556 美乐
579 美乐
592 美乐
614 赤霞珠 美乐
623 美乐
640 美
乐 656 书法美乐 品丽珠 长相思
672 Ondine 美乐
689 美乐
694 美乐
696 桶装美乐
714 美乐
762 私人珍藏美乐
776 美乐
790 美乐
795 私人珍藏美乐
816 JJ 手工葡萄酒 美乐
832 金三角美乐
841 美乐
842 桃红葡萄酒
854 鹰冠赤霞珠美乐
865 美乐
877 酿酒师精选美乐 设拉子
891 美乐
892 珍藏美乐
893 山红设拉子 美乐
941酒窖精选梅洛赤霞珠
943 葡萄园精选赤霞珠 梅洛 Cab Franc Sh​​iraz
947 Merlot
982 Boet Erasmus Cabernet Sauvignon Merlot Malbec Petit Verdot
983 Cara Cabernet Sauvignon Shiraz Merlot
984 Classic Cabernet Sauvignon Shiraz Merlot
1010 Laureat Cabernet Sauvignon Merlot
1015 Merlot
1045 Merlot
1046 Merlot
1073 Merlot
1075 Merlot
1079 Cabernet/Merlot
1089 Merlot
1093 Adelberg Cabernet Sauvignon Merlot
1096 Merlot
1104 Z Collection Cabernet Franc Merlot Cabernet Sauvignon
1111 Merlot
1121 Merlot
1144 Merlot
1145 Merlot
1169 Merlot
1186 Merlot
1254 Cabernet长相思 美乐
1260 赤霞珠/美乐
1261 美乐
1269 美乐
1326 美
乐 1349 赤霞珠 美乐
1364 品种选择 美乐
1381 美
乐 1384 赤霞珠 美乐
1393 Cabernet Sauvignon Merlot
1401 Cabernet Sauvignon Merlot
1404 Merlot
1421 Petit Cabernet Sauvignon Merlot
1424 Merlot
1431 Collection Merlot
1443 Merlot
1454 Merlot 1454 Merlot
1467 Merlot 1467 Merlot 1468 Merlot
1468 Merlot
1476 Inderlland 1476 Inderllance 1476 Interlanlllance 1491 1491 1491
1491 零售店未过滤美乐 1592 美乐 3001 美 乐 3007 赤霞珠 美乐 3036 赤霞珠 美乐 3056 美乐 3067 犹太美乐 3073 有机美乐 3079 优质美乐














3091 Merlot
3106 Merlot with a dash of Malbec
3133 Cabernet Sauvignon Merlot
3143 Five Climates Merlot
3154 Reserve No1 Merlot
3182 Lanoy Cabernet Sauvignon Merlot
3183 Reserve Collection Cab Sauv Merlot Cab Franc
3200 Merlot
3236 Giorgio Cabernet Sauvignon Merlot Petit Verdot Shiraz
Svignon 3258 Danie De Wet Caber梅洛
3276 红赤霞珠 梅洛 法郎小维多设拉子
3288 梅洛
3303 四重皮诺塔吉赤霞珠 梅洛 设拉子
3307 多样性梅洛 马尔贝克
3311 葡萄园创作梅洛
3318 卡普曼赤霞珠 梅洛
3321 Luipaardsberg 梅洛
3322 梅洛
3326 Rhinofields Merlot
3334 Merlot
3343 Merlot
3363 Merlot Cabernet Sauvignon
3372 Merlot
3390 Merlot
3416 R 62 Merlot Cabernet Sauvignon
3418 Unplugged 62 Merlot Rosé
3419 Unplugged 62 Merlot Shiraz
3431 Merlot
3439 KC Cabernet Sauvignon Merlot
3471 Orchestra Cabernet Sauvignon Malbec Merlot Cab Franc
Sh​​iraz 3497 Merlot
3498 Merlot 赤霞珠
3510 Merlot
3531 Merlot
3540 Merlot
3560 Merlot
3568 Merlot Rose
3578 特别版 Merlot
3581 Merlot
3584 Cabernet Sauvignon Merlot
3624 Merlot
3642 Cellar Selecti on Merlot
3657 Merlot
3677 Merlot
3681 Merlot
3685 Series C Cabernet Sauvignon Merlot Cab Franc
3693 Merlot
3728 Alexanderfontein Merlot
3755 Peacock Ridge Merlot
3771 The Old Museum Merlot
3773 Cellar Selection Cabernet Sauvignon Merlot
3820 Merlot
3859 Merlot
3882 Dunstone Merlot
3900 Duckitt Merlot Cabernet Sauvignon
3919 Merlot
3947 Merlot

0 投票
0 回答
168 浏览

sunspot - Sunspot_solr 仅在生产环境中对一种类型的宝石索引不正确

我最近实现了一个由 solr 驱动的自动完成/自动提示功能。我的 solr 实现是使用 rails sunspot gems。自动完成搜索根本不通过 rails,而是通过 apache 反向代理直接到 solr 服务器。因此,在这种情况下,太阳黑子的作用是在创建或更新(或删除)记录时重新索引。

我的问题是,当创建或保存记录时,触发延迟作业重新索引,它不会反映在仅生产中的自动完成搜索中。当记录保存在开发或暂存中时,更改会立即反映在自动完成搜索中。

我的代码和我的 solr 配置都在 git 中管理,因此它们在我的所有环境(开发、登台和生产)中都是相同的。我还没有进行任何生产特定的配置更改(还没有!)。我已将 MySQL 数据库和 solr 索引文件从生产环境复制回其他环境,以使一切都相同。我已经重新启动了,但 rails 和 solr 多次确保可以确定。

在生产中,我看到作业通过了延迟作业,并且我在 sunspot solr 日志中看到了更新。虽然,大部分日志输出对我来说仍然是希腊语。我已经在生产和开发之间进行了逐行比较,它们看起来或多或少相同。

我已经使用 curl 直接针对 solr 服务器进行了测试,以确保只有我和 solr——没有 apache、没有网络、没有浏览器。

当保存相同的记录时,它会启动作业以重新索引其一堆子对象,并且这些子对象确实会按预期重新索引。

此外,如果我使用该模型的 rake 任务重新索引,它会正确重建索引。这只需要几分钟,所以这就是我现在要做的事情。

所以,问题是这种类型,在这种环境中,仅在创建/更新时。

我能确定的唯一区别是负载,尽管我的网站用户很少,很难认为这很重要。

知道可能是什么原因造成的,或者我接下来应该看什么来解决这个问题?我的猜测是缓存,但由于我没有进行任何类型的生产调整,它应该是相同的。除非黑子做了我不知道的事情。

0 投票
1 回答
1188 浏览

ruby-on-rails - Sunspot / Solr 全文搜索 - 如何从全文搜索中排除某些字段?

我已经为我的 rails 应用程序实现了 solr 搜索。我已经为搜索字段编制了索引,并且运行良好。现在我想在搜索时排除一个名为 Title 的特定字段。如何在搜索时跳过这个特定字段。索引文本字段是否也有任何排除选项。

在这里我如何才能从全文搜索中仅排除标题字段。

有什么办法可以这样做吗?请帮忙

0 投票
1 回答
716 浏览

ruby-on-rails-3 - 如何每四个小时在后台运行一次太阳黑子重新索引

我想每四个小时执行一次 rake sunspot:reindex RAILS_ENV=production 命令。为了实现这一点,我使用 shell 编程编写了简单的 bash 脚本。我将在终端中成功运行,但如果我尝试在 crontab 中运行它,则它无法正常工作。正在使用的操作系统是centos。

这是我的 bash 脚本代码

请帮我解决这个问题。

编辑

我正在重定向输出一个文本文件。在那个文本文件中,我才刚刚开始,捆绑安装和日期。我没有收到完整的消息,因此我知道它不起作用,并且在该文本文件上没有收到任何错误。

请帮我解决这个问题。

0 投票
1 回答
448 浏览

solr - Solr:autoCommit 如果 Solr 在提交之前发生故障会发生什么

我们在 solrconfig.xml 中启用了 autoCommit。

现在想知道当 Solr 服务器在没有达到任何阈值并且有未提交的文档之前关闭时会发生什么。那些未提交的文档会在服务器重新启动时提交吗?

顺便说一句,我们启用了 autoCommit 来修复

0 投票
1 回答
156 浏览

ruby-on-rails-3 - how to write search method code to search more than one id at a time

In my project am trying to display products based on user choice. User can check which department(women, men and kids) and category (dress, tops, tees etc) they wish to see. For this am using check box. If user checks(selects) only women departments they all products which belongs to women will be displayed. If user checks(selects) both women department and dress category then the products which belongs to both women department and dress category will be displayed. If user selects both women and men departments and shoes category then all products which belongs to women and men department and shoes category will be displayed. To achieve this am using solr (sunspot gem). My question is can we pass multiple ids for department_id and category_id at the same time.

For example is it possible to

If it is possible please tell me how to do? Please give me syntax? Please help me.

Update

Thank you Salil for your answer, but department id and category id's are not static in this case. I will came to only when user selects at runtime. Means category_id and department_id's are generic. How to achieve this. I want something like this

Please help me.

0 投票
1 回答
809 浏览

ruby - Sunspot/Solr:索引时间字段会导致 NumberFormatException

我正在尝试将时间戳字段添加到我的模型中,以便通过 Sunspot/Solr 进行索引。Solr 对此感到窒息并产生NumberFormatException

我也尝试过使用date :lastUpdated相同的结果。

考虑到我的模型可能有一些虚假lastUpdated值,我尝试从 索引结果Time.now,并得到相同的结果。

我在外部使用 Solr 3.4.0,但使用提供的“内部”Solr 重现了相同的问题sunspot-installer,并进行了相应调整sunspot.yml。我的情况看起来很像这里提到的问题,但是重新安装 Sunspot/Solr 配置似乎并没有解决它。

编辑:也尝试过 Solr 3.6.0;同样的结果。

0 投票
2 回答
775 浏览

ruby-on-rails - 耙太阳黑子上的太阳黑子 Solr 错误:索引

我正在尝试在 Rails 3 应用程序上为 Solr 使用 Sunspot gem。我已经关注 RailsCast #278,因为我使用的是 Windows,所以我必须执行 rake sunspot:solr:run,这似乎开始时没有错误。但是,当我尝试运行 rake sunspot:reindex 时出现错误:

我正在为 mysql 使用 mysql2 gem。请指教。