我们正在创建一个包含帖子的网络应用程序(类似于FB或Youtube)。对于数据的稳定部分(即方面、搜索结果及其内容),我们计划使用SOLR。对于数据的不稳定部分(即动态和易变的内容,例如点赞数、评论数、观看数),我们应该使用什么?选项一)Redis如何将“动态”数据存储在不同的数据存储(如Redis)中?因此,每次刷新计数时,我根本不必将数据重新索引到SOLR中。因此,SOLR索引仅在向站点添加新帖子时触发,而不会在用户对帖子进行任何事件时触发。旁注:-我还在https://github.com/sematext/solr-redis查看了SOLR-Redis插件该插件看起来不错,但不
我正在使用Solr4.6.1在Mac.我试图弄清楚如何使用数据导入从MySQL加载数据.但我最终无法加载JDBCDriver类。这是我所做的:放mysql-connector-java-5.1.29-bin.jar至~/Tools/Solr/example/lib/1.配置~/Tools/Solr/example/solr/collection1/conf/data-config.xml:2.配置~/Tools/Solr/example/solr/collection1/conf/solrconfig.xml:在下添加以下内容data-config.xml还有3.将以下内容添加到~/T
我有一个包含大约10万个代表电影实体的文档的索引。用户可以将电影放入各种列表(如收藏夹等)这些列表存储在mysql数据库中,不在solr中建立索引。我可以将用户ID存储在表示列表的多值字段中,但这非常糟糕,因为字段会变得非常非常长,而且索引也会有问题。所以目前我做了以下(伪代码):$favorites=SELECTdocument_idFROMfavoritesWHEREuser_id=$user_id$documents='http://solr.com:8393/select/?q=XYZ&fq=document_id:('.join('OR',$favorites);这很好用而且
我有一个大索引,在索引过程中出现错误。因此,为了避免需要几天时间的重新索引,我想简单地删除特定字段并重新索引。有什么建议吗? 最佳答案 如果您使用的是Solr4,则可以使用AtomicUpdatehttp://wiki.apache.org/solr/Atomic_Updates更容易地删除字段。例如:curlhttp://localhost:8983/solr/update?commit=true-H'Content-type:application/json'--data-binary'[{"id":"630911fa-711a
我想知道如何在ApacheSolr中获取/搜索最后的索引记录..?当现有记录更新时,它会转到所有记录的末尾...所以我想获取最后一条索引记录。谢谢.. 最佳答案 您可以将“时间戳”字段添加到您的Solr架构中,以便在添加时将当前日期/时间放入记录中。然后按照这个字段降序排序,第一条记录就是最新的。像这样的查询应该这样做:-http://localhost:8080/solr/core-name/select/q=*%3A*&start=0&rows=1&sort=timestamp+desc
我正在使用Java查询Solr服务器以获取包含我感兴趣的一组已知ID中的ID的结果。我能想到的获得这些我感兴趣的结果的最好方法是创建一个看起来像这样的长查询字符串:q=(item_id:XXX33-3333ORitem_id:YYY42-3445ORitem_id:JFDE-3838)我在发出请求之前生成了这个字符串queryString,最终我想要发出的请求中包含了1500多个这样的ID。我正在使用HTTPPOST进行查询:HttpPostpost=newHttpPost(url);post.setHeader("Content-Type","application/x-www-fo
我正在使用Solr附带的Jetty/Solr构建,并希望在后台而不是在终端中运行它。现在我通过java-jarstart.jar启动它,但我希望它记录到一个文件并在服务器后台运行,以便我可以关闭终端窗口。我确定有一些我找不到的java配置。我已经尝试过java-jarstart.jar>log.txt&但仍然没有成功输出到终端窗口。谢谢。 最佳答案 尝试这样的事情:nohupyourcommand>output.log2>&1&nohup将防止您的命令在您注销时被终止。&将在后台运行它。>output.log将标准输出发送到outp
假设我们有一组带有名称和价格的mp3播放器。如何编写正确的solr查询以查找具有特定名称且价格低于100美元的所有商品?q="(name:(ipod)ANDprice?????100.0)" 最佳答案 我认为查询解析器不支持运算符(operator)。你必须定义一个RangeQuery明确地。然后,您可以使用BooleanQuery将名称查询附加到该查询.更新:显然,我错了。事实上,Solr的查询解析器比Lucene的更智能。这是您的答案:https://lucene.apache.org/solr/guide/8_0/the-st
我是Solr的新手。我想知道何时使用StandardTokenizerFactory和KeywordTokenizerFactory?我阅读了ApacheWiki上的文档,但我没有理解。谁能解释StandardTokenizerFactory和KeywordTokenizerFactory之间的区别? 最佳答案 标准token生成器工厂:-它对空格进行标记,并去除字符文档:-Splitswordsatpunctuationcharacters,removingpunctuations.However,adotthat'snotfol
关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭4年前。Improvethisquestion我一直在阅读有关使用Solr和Mahout开发推荐系统的内容。据我了解,它们处理两个不同的问题。由于Solr是一个搜索引擎+分类系统,因此它主要用于“更像这样”之类的推荐在Drupal中-http://jamidwyer.com/d7/node/21.(或StackOverflow中的“相关”功能)就Mahout而言,它实现了协同过滤等机器学习算法。它可用于根据用户之前的操作(喜欢、购买的商品)在亚马逊中