solr能否像CMS那样为单个文件提供服务?
我希望构建真实的搜索引擎规格 大约50万列表 每日更新潜在的50 000列表 用清洁(ISH)CSV提供的数据 - 需要删除字符,编码UTF,通常. 50多个数据字段(30张图像,各种属性规格等) 我对Drupal7和Joomla遇到很多问题.那只是数据导入. 我希望将solr索引数据作为搜索引擎.我有几个问题. Solr可以直接从其索引中提供清单吗? (如果是这样,我需要一个数据存储,例如MySQL甚至CMS) 我最好将数据放在简单的单个表mysql db中,并用它将文档推向Solr的索引,然后从db或solr index加载列表. 由于数据困难,看来我可以简单地消除许多并发症,试图找出D7/joomla/任何其他CMS的内部工作,而只是将一些简单的PHP文件作为前端放置. 我不需要任何花哨的东西,要为此项目使用基本的drupal模板. 我需要速度和可靠性以及出色的搜索结果. 解决方案 IMHO应该有可能专门用于您的目的.即使对于一台服务器
0 2023-06-03
编程技术问答社区
数据库上的搜索引擎(solr/sphinx)。
我想通过solr等全文搜索引擎搜索我的线程内容. 我想知道一件事;我是否应该仅索引线程. 我的意思是,当用户搜索线程时,他们将返回包含线程标题的命中,用户已发布的2行,创建日期,标签等. 我也应该索引所有这些信息吗?但是,这几乎是整个数据库,或者我应该只是为全文搜索提到的3列索引吗? 另一个问题:当用户发布新线程时,我必须立即告诉Solr添加该行?如果不是,它将如何搜索? 解决方案 我已经使用了Apache Lucene,但我还没有使用过Apache Solr.因此,我要推断一些答案.但是Lucene Indexing是Solr的力量,所以我认为这几乎是相同的. 我会添加您可能想要的所有内容,作为可搜索内容的一部分或搜索返回的所有内容. 请注意,Lucene允许您将字段添加到文档中为"未分析" - 这意味着这些字段不是可搜索内容的一部分.但是,当您进行搜索时,将返回额外的字段,并找到该文档.替代方法是仅包括主键,然后在找到匹配文档后必须使用它来进行
0 2023-06-03
编程技术问答社区
Solr FieldCollapsing for More Like This queries
我想使用"更像这样的查询"来查找相似的文档并折叠那些对字段'图像'具有相同值的文档.我试图使用 field Collapsing参数,但是它们似乎对"更像这样"不起作用. . 下面是我的代码的片段.您能告诉我如何使用"更像这样的查询"崩溃结果? $url = "http://{$host}:{$port}/solr/{$core}/mlt"; $data = [ 'stream.body' => $content, 'fl' => 'image,content,title,signature', 'start' => 0, 'order' => "score desc", 'wt' => 'json', 'mlt.fl' => 'content,title', // these lines do nothing ---v 'group' => 'true', 'group.field' => 'imag
0 2023-06-03
编程技术问答社区
无法启动DSE搜索的solr部分
我无法启动DSE搜索的Solr方面,并且在执行执行时会收到以下异常消息,当我执行bin/dse cassandra启动卡桑德拉服务时,启动了Cassandra服务,但不是Solr,是否有人有任何指导可以为我提供指导我知道我错过了什么: bin/dse cassandra -s 消息: Cannot start node if snitch's data center (Solr) differs from previous data center (Cassandra). Please fix the snitch configuration, decommission and rebootstrap this node or use the flag -Dcassandra.ignore_dc=true. at org.apache.cassandra.db.SystemKeyspace.checkHealth(SystemKeyspace.java:629) ~[c
0 2023-06-02
编程技术问答社区
Solr中的近似重复检测
solr被用于搜索用户生成的列表数据库.这些清单通过dataImporthandler从MySQL导入Solr. 问题:经常,用户向数据库报告相同的列表,有时会对其上市帖子进行较小的更改,以免被轻松地被视为重复的帖子. 我应该如何使用SOLR实施近乎解复的检测?只要搜索结果不包含这些近乎删除的列表,我就不介意在Solr索引中几乎具有简化的清单. 我想有4个可能的地方可以做到这一点 用户提交列表(此处使用PHP) 在从mysql导入到solr的数据期间 从MySQL导入的数据之后 进行搜索 推荐的方法是什么?谢谢! 解决方案 我对Solr不熟悉,当用户提交清单时,我将实现"近乎删除".有不同的算法可以检测近二型算法,例如 jaccard indexing . 我制作了一些脚本,以查看相似性系数之间的区别:
0 2023-06-02
编程技术问答社区
致命错误:未找到" Solrclient"类
我遵循此教程使用PHP运行Solr.但是我遇到了上述错误.我看着 Solrclient类,但不知道该如何使用它. 是否有逐步指南? 解决方案 请运行以下命令 sudo apt-get install libcurl4-gnutls-dev libxml2 libxml2-dev sudo apt-get install libpcre3-dev sudo pecl install -n solr 请在php.ini文件中添加扩展名 sudo echo "extension=solr.so" >> /etc/php5/apache2/php.ini 请在/etc/php5/apache2/conf.d/中创建solr.ini文件,然后在该文件中添加extension=solr.so. 或在终端中运行此命令 sudo echo "extension=solr.so" > /etc/php5/apache2/conf.d/solr.ini 并重
2 2023-06-02
编程技术问答社区
另一个dateTime问题
我目前有此格式的日期 2010-03-03 10:39:18 这是mysql中的TIMESTAMP字段.我需要以这种格式的日期,用于称为solr: 的搜索引擎 1995-12-31T23:59:59Z 这是他们网站上有关日期的一些文字: solr期望日期在UTC中 索引.此日期的格式 字段是形式的 1995-12-31T23:59:59Z,是更多 规范的受限形式 DateTime的表示 http://www.w.w.w.org/xmlschema-tr/xmlschema-chema-2/#datetime . 尾随的" Z"指定UTC时间 并且是强制性的.可选分数 允许几秒钟: 1995-12-31T23:59:59.999Z所有其他 组件是强制性的. 我从此处的另一个Q中给出了此代码,但它不起作用. Solr抱怨"无效的时间字符串": $solr_date = date('c', (strtotime($date_from_mysql)); //
0 2023-06-02
编程技术问答社区
如何知道Solr优化完成的时间?
我正在使用solr-php-client通过php. 与Solr通信 此代码触发solr Optimize命令: $solr->optimize(); 我想知道是否有任何方法可以确保进行优化? 这全是因为我在网站上有一个管理页面,我每天必须手动一次必须优化SOLR索引,但是我很难编写此代码. 目前,我有一个简单的表单,带有一个提交按钮,该表格触发了optimize()命令,但我必须以某种方式确认优化已经进行了,这就是这里的问题. 您知道有什么方法可以确认Solr中的优化? 谢谢 解决方案 其他解决方案 最简单的方法是从Solr控制台开始优化,在收集的概述部分中有一个"现在优化"按钮.如果刷新此屏幕,您将看到使用的内存增长直到IT加倍,然后对状态进行了优化,并且"现在优化"按钮均已失败. nb:您必须有足够的免费磁盘空间才能完成优化,否则它将失败而无需通知或错误消息. 这不是直接回答您的问题,但这是处理SOLR实例Optisa
0 2023-05-31
编程技术问答社区
当我尝试php中的solr时一个问题
我在PHP中运行示例时有问题,代码如下: ping() ) { echo 'Solr service not responding.'; exit; } // // // Create two documents to represent two auto parts. // In practice, documents would likely be assembled from a // d
0 2023-05-31
编程技术问答社区
Apache Solr搜索自动完成
我正在使用Apache Solr搜索引擎来实现我的网站搜索.我能够设置 apache solr sears search 模块,现在我的搜索正在工作.现在,我试图在 apache solr autocomplete 模块中,尝试实现搜索自动完成我试图将节点标题显示为建议列表,而不是关键字.最后,我发现了这个教程那,我似乎正在工作,但现在我遇到了AJAX HTTP错误(500).我在Drupal错误日志中发现了4条错误消息: - Notice: Undefined index: facet.prefix in apachesolr_autocomplete_suggest() (line 461 of /home/test/webroot/sites/all/modules/apachesolr_autocomplete/apachesolr_autocomplete.module). Warning: Invalid argument supplied for foreach()
2 2023-05-30
编程技术问答社区
Solr有什么好教程吗?
我不明白Solr除了在官方页面中提供的索尔尔是否有任何好的教程? 解决方案 我也没有太多关于Solr的概念,但是a 简单的Google搜索提出了一些可能对您有帮助的事情的重要清单: 官方教程 官方Javadocs Wiki Page 关于solr的常见问题 教程1 教程2 教程3 其他解决方案 我必须学习solr,我记录了我在此过程中学到的大部分知识.它可能有用: http://blog.kevindoran.co/solr-tutorial/ 其他解决方案 官方教程很有用,但很短.我发现本教程非常有帮助: http://www.solrtutorial.com/index.html (这是来自第一个答案中创建教程4的同一个人,但该链接实际上指向Lucene教程,而不是Solr教程.)
2 2023-05-30
编程技术问答社区
Zend_Search_Lucene vs SOLR
我重新偶然发现了Lucene Project的Zend Lucene Port.我对Solr有一点经验,所以我想知道其中两个尤其是在性能和​​安装方面有什么区别. 我知道Solr需要在Web托管中运行的Tomcat Serverlet才能工作,Zend Lucene Library呢? 我也有点困惑的是什么意思是"在Lucene的顶部实施"? 解决方案 Java Lucene及其所有端口到包括Zend Lucene在内的其他语言,都是搜索库.. 这意味着要使用Zend Lucene,您必须将其包装在其他(PHP)代码中,这将将搜索与您的其余应用程序集成在一起.该代码通常需要管理索引,检索,并且通常需要对Lucene进行一些家政服务.您使用php函数呼叫与Zend Lucene进行通信. solr,otoh,是搜索 server 构建在Lucene顶部.这意味着Solr实例可以在Servlet容器内部作为独立服务器Web App运行(可能是Tomcat,Je
0 2023-05-30
编程技术问答社区
如何使用Apache Solr与PHP代码突出显示搜索结果
我使用solr和tomcat servlet容器开发了搜索页面.使用php代码我将搜索查询发布到solrquery()函数中,并且在此函数中已定义了查询参数如下. $ query ="?q =".trim(urlencode($ q)) &version = 2.2&start = 0&row = 10&indent = on&hl = true&hl.fl = title'; 我已通过突出显示" HL = true&hl.fl = title"参数.我不知道如何在我的搜索页面中解析/显示突出显示的结果? 有人可以帮助我吗? 解决方案 在Solr中突出显示的方式是: 在与结果的XML响应开始时,您会看到一个"带有儿童" doc" doc"节点的"结果",该节点包含您的搜索结果.这样的东西: Merge transfer will merge one item with another. The ne
0 2023-05-29
编程技术问答社区
使用Apache Solr索引pdf文件内容
我正在使用Solr的 php扩展与Apache Solr互动.我正在索引数据库的数据.我也想索引外部文件的内容(例如PDF,PPTX). 索引的逻辑是: 假设schema.xml已定义以下字段:
0 2023-05-28
编程技术问答社区
如何更新Solr PHP中的文档?
嗨,我可以在solr php中更新文档而不先删除它并添加全新文档吗? 解决方案 要更新文档时,只需调用具有相同强制性字段的函数" addDocument". Solr将在内部更新文档. solr如果您要寻找的是,则不支持更新文档中的单个字段.来源: solr-139 希望它有帮助! 其他解决方案 这就是我的方式: include "bootstrap.php"; $options = array ( 'hostname' => SOLR_SERVER_HOSTNAME, 'login' => SOLR_SERVER_USERNAME, 'password' => SOLR_SERVER_PASSWORD, 'port' => SOLR_SERVER_PORT, ); $client = new SolrClient($options); $query = new SolrQuery(); // Find old Docum
12 2023-05-28
编程技术问答社区
如何管理��寻呼�� 和Solr?
我有一个分类网站... 我让Solr对分类搜索进行搜索,然后返回ID:NRS,然后将其用于将其放入数组中.然后,我使用此数组在mysql db中找到任何分类器,其中id:s匹配solr返回的数组中的id:s. 现在,因为此数组可能非常大(1000千记录或更多记录),那么我需要"页面"结果,以便一次返回的地方也许有100个.然后使用MySQL中的100个ID:S查找分类. 那么,可以用Solr打开? ,如果是,如何?我需要示例代码...结果是什么. 主要是我需要一个详尽的例子! 谢谢 解决方案 看看 ibm .也许那会让您进入正确的课程. 结果数:指定要返回的最大结果数. 开始:在结果集中启动的偏移.这对于分页很有用. 因此,您可能需要在 上进行一些变化 10 0 您的solr客户端应提供某种方法来获取结果总数而又不麻烦. 其他
2 2023-05-28
编程技术问答社区
一起使用Solr和Zends Lucene端口
下午chaps, 在我与Zend-Lucene-Search进行了冒险之后,发现在索引大数据集时并不是所有的事情,我转向Solr(感谢Bill Karwin为此, 现在,我已经索引了DB索引远得多,只需超过8分钟即可索引超过170万行的桌子 - 我对此感到非常满意. 但是,当我尝试使用Zend端口搜索索引时,我会遇到以下错误; 致命错误:未予以的异常" zend_search_lucene_exception",带有消息"未支持的片段文件格式",in/var/www/zend/search/search/lucene.php:407 stack trace:#0/var/var/var/www/www/zend/search/lucene. php(555):zend_search_lucene-> _ readsegmentsfile()#1/var/www/z_search.php(12):zend_search_lucene-> __ struction('tm
2 2023-05-28
编程技术问答社区
如何确定SOLR索引的字段类型?
我在MySQL表中有两个表字段. 一个是varchar,是分类的"标题"(分类网站). 另一个是文本字段,其中包含分类的"文本". 两个问题: 我应该如何确定如何索引这两个字段?(哪个字段类型,使用什么类等) ) 当前,我有一个" AD_ID"作为每个广告的唯一标识符,示例" BMW_M3_82398292". 每当Solr找到"查询匹配"时,我该如何使Solr返回此标识符? (标识符的第一部分实际上是标题字段内容,第二部分是选择的随机数) 谢谢 解决方案 1.模式 您的SOLR模式取决于您的预期搜索行为.在您的schema.xml文件中,您会看到许多选择,例如"文本"和"字符串".他们的行为不同. 字符串字段类型是字面字符串匹配.它将在SQL语句中像==一
2 2023-05-27
编程技术问答社区
Faceted Search (solr) vs Good old filtering via PHP?
我计划在我的电子商务商店中设置过滤系统(完善您的搜索).您可以在此处查看一个示例: http://wwwww.bettymills.com/shop/shop/product/product/product/product/find/air+和+HVAC+过滤器 Prestashop,OpenCart和Magento等平台具有所谓的分层导航. 我的问题是,与使用Solr或Lucene之类的诸如FaceTed Navigation之类的东西相比,Magento或Prestashop等平台中的分层导航之间有什么区别. 可以通过PHP和MySQL完成类似的结果吗? 详细的解释非常感谢. 解决方案 分层导航==搜索. 它们是同一件事,但是Magento和Al使用不同的措辞,可能很吸引人.据我所知,Magento支持Solr Facet搜索或MySQL.主要区别是性能. 性能是主要的权衡. 在MySQL中进行刻度搜索需要您加入表,而Solr则自动索
0 2023-05-27
编程技术问答社区
使用PHP读取JSON数据
solr以下面的json格式返回响应. { "responseHeader":{ "status":0, "QTime":2, "params":{ "indent":"on", "start":"0", "q":"*:*", "wt":"json", "version":"2.2", "rows":"10"}}, "response":{"numFound":3,"start":0,"docs":[ { "student_id":"AB1001", "student_name":[ "John"] }, { "student_id":"AB1002", "student_name":[ "Joe"] }, {
0 2023-05-26
编程技术问答社区