草庐IT

java - 使用 Cassandra 和 Solr 的网站最有效的架构?

我正在开发一个网站,该网站将使用Cassandra进行数据库存储,并使用Solr索引和搜索该数据库中包含的一些数据(我只希望搜索部分数据)。我曾打算将PHP用于服务器端脚本,与Cassandra数据库交互,并根据数据库的内容提供动态HTML内容。当用户向数据库提交某些内容时,我设想PHP向Cassandra发出写操作,如果是需要搜索的数据,则可以将相同的数据写入Solr索引。问题是,我不一定需要Solr索引中立即可用的可搜索数据,也不希望通过PHP将其添加到索引的过程消耗宝贵的资源,尤其是在高峰流量时段。有没有办法通过直接从Cassandra传输数据来在后台对Solr索引进行异步更新?

php - Solr:检查文档是否存在而不检索文档

我需要查明文档是否存在,但保存在Solr服务器中的文档非常大,所以如果我执行经典搜索以检索具有指定id的文档并返回该文档它需要太多时间来处理。是否有可能在不检索实际文档的情况下返回例如匹配文档的数量? 最佳答案 是的,这是可能的。提交查询时可以设置rows=0,执行。没有返回任何实际文件。在响应中,您可以从响应中读取numFound属性。如果numFound=1(因为这是用于ID),则文档已找到。 关于php-Solr:检查文档是否存在而不检索文档,我们在StackOverflow上找到

php - 为什么 PHP Solr 扩展给出异常 "Unsuccessful query request"

我使用PHPSolrextension当我运行下面的代码时,我得到了异常:Fatalerror:Uncaughtexception'SolrClientException'withmessage'Unsuccessfulqueryrequest:ResponseCode404.不明白,怎么了,我也用solr客户端成功了。include"bootstrap.php";$options=array('hostname'=>SOLR_SERVER_HOSTNAME,'login'=>SOLR_SERVER_USERNAME,'password'=>SOLR_SERVER_PASSWORD,'

php - 通过 PHP cURL 将文档添加到 Apache Solr

我不知道我做错了什么。记录没有被添加。这是我的代码:$ch=curl_init("http://127.0.0.1:8983/solr/collection1/update/json?commit=true");$data=array("add"=>array("doc"=>array("id"=>"HW132","name"=>"HelloWorld")));$data_string=json_encode($data);curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE);curl_setopt($ch,CURLOPT_POST,TRUE);cu

php - 在 php Solr 中添加多个值

我将如何使用phpsolr扩展将多个值添加到多值字段? 最佳答案 您只需迭代数组(multiValued),并为每个数组值运行一次addField。foreach(array('Justin','Sean')as$coder){$doc->addField('coder',$coder);} 关于php-在phpSolr中添加多个值,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/

php - Solr 按字段值提升结果

我正在查询solr服务器的位置。这些位置文档还有一个字段“country_code”,其中包含US、GB、DE...等值在某些情况下,我想提高带有特定国家/地区代码的结果,以便我能够按国家/地区排列我的结果的优先级。例如:?q=york假设用户来自英国并且正在搜索York...目前他首先在美国找到了一些York,然后在英国找到了。我希望能够为这个查询指定英国结果应该在最前面。我发现这应该可以通过dismax和bq实现,类似这样:?q=york&dismax=true&bq=country_code:GB^20.0但这并不像预期的那样有效,现在危地马拉的约克(国家代码GT)位居榜首,GB

php - 在 solr 文档中存储 n+1 个对象

我正在努力找出在solr文档中存储n+1对象的最佳方式。我正在将CV/resume文档存储在solr文档中。我正在考虑存储两种不同的数据类型“教育”和“就业”如果我们看教育,对象看起来像这样:{"establishment"=>'Oxford',"Subject"=>'Computing',"Type"=>'Degree',"Grade"=>'2:1'}一个CV可以有n+1个这样的对象,具体取决于CV的内容。搜索需要能够看到,当我使用Establishment=Oxford&Subject=Computing&Grade=2:1搜索CV时,它与此对象匹配,而不是具有相同主题和等级的不同

php - 通过某些领域提升 Solr 的结果?

我是Solr的新手,但我正在尝试将它集成到我的网站中。我一直在寻找“提升”Solr查询结果的方法,但我很难理解如何实现我想要做的事情。我正在尝试“提升”Solr搜索中将字段“userId”设置为1的某些结果。例如,如果索引中有两个文档具有完全相同的文本相关性,但第一个文档具有“userId”字段设置为“1”,另一个字段设置为“4”,那么第一个文档在结果中的位置将更高。无论如何我可以做到这一点吗?非常感谢! 最佳答案 有几种方法可以做到这一点:BoostthedocumentsthathaveuserId=1atindex-timeB

java - 一起使用 Solr 和 Zends Lucene 端口

下午的伙计们,在我使用Zend-Lucene-Search冒险之后,发现它在索引大型数据集时并没有像人们想象的那样,我转向了Solr(为此感谢BillKarwin:))我现在让Solr更快地为数据库建立索引,只需8分钟多一点就可以为一个超过170万行的表建立索引——我对此感到非常满意。但是,当我尝试使用Zend端口搜索索引时,我遇到了以下错误;fatalerror:在/var/www/Zend/Search/Lucene.php:407堆栈跟踪中出现未捕获的异常“Zend_Search_Lucene_Exception”和消息“Unsupportedsegmentsfileformat

php - Solr PHP 客户端与 file_get_contents?

我正在使用PHP访问Solr,我想知道一件事。能用的时候为什么要用SolrPHP客户端:$serializedResult=file_get_contents('http://localhost:8983/solr/select?q=niklas&wt=phps');获取数组中的结果然后打印出来?我真的不明白其中的区别。PHP客户端是否有更丰富的功能? 最佳答案 我认为是因为以下原因:灵active错误处理安全问题可扩展性所有问题都是这些预制脚本和框架的头疼问题。因此,如果某件事有解决方案,我会建议您采用它,而不是自己做所有事情。此