Apache Solr是一个基于Lucene Java搜索库的开源搜索服务器。
修复 Apache Solr 9.7.0 Windows 启动问题
问题 当尝试使用基本启动命令或云示例在 Windows 上启动 Apache Solr 9.7.0 时,您可能会遇到以下错误: 基本启动(.\solr.cmd start): 解析失败
我正在尝试创建一个 Solr 模式来存储具有更复杂类型的字段。例如: { “会话ID”:413431, "sessionName":"测试会话" “游戏详细信息...
我使用 SOLR 和 NGramTokenizerFactory 来帮助创建单词子字符串的搜索标记 NGramTokenizer 配置的最小字长为 3 这意味着我可以搜索...
我可以保护短词免受 Solr 中的 n-gram 过滤器的影响吗?
我看到过这个关于在 Solr 中搜索短单词的问题。 我想知道是否有另一种可能的解决方案来解决类似的问题。 我使用的 EdgeNGramFilter 的 minGramSize 为 ...
drupal 中的 FACET API 与 Solr 集成时出现错误
注意:未定义索引:FacetapiFacetProcessor->processHierarchy() 中的#active(/srv/bindings/cda094ccdab94690bf13ccc53186f1f5/code/sites/all/modules/facetapi/plugins/facetapi/adapt... 的第 1562 行...
我是 solr 新手,所以请告诉我,以防我在这里遗漏任何内容。 我正在遵循本指南,但到目前为止还没有运气 - https://solr.apache.org/guide/8_10/making-and-restoring-backups.html 所以,我所做的...
启动时总是收到消息:“180 秒后仍然没有看到 Solr 监听 8983”
版本:Solr 6.3 操作系统:CentOs 7.3 安装后,运行 service solr restart 时,180 秒后,我总是在打印 INFO 消息之前收到相同的消息。 $ 重新启动 solr 服务
我已经在Ubuntu中安装了Solr 8.5.4。如何在云模式下运行它? 我发现为了在云模式下运行,我应该使用以下命令: 垃圾箱/太阳能启动 但没有文件夹调用...
我正在开发一个项目,需要爬取超过 10TB 的数据并为其建立索引。我需要实现花费更少时间的增量爬行。 我的问题是: 哪个是最好的工具
我有 2 个 SolrCloud 设置节点。版本是6.6.6。我从其他有 4 个集合分片的实例中获取了 Solr 备份。 我已经使用以下命令来收回,效果很好 嗯……
为什么我有时会在从 8GB 堆的 800MB 索引中获取所有文档时遇到 OOM?
我需要刷新由 SOLR 7.4 管理的索引。我使用 SOLRJ 在具有 8 个 CPU 和 32GB RAM 的 64 位 Linux 机器上访问它(8GB 堆用于索引部分,24GB 用于 SOLR 服务器)。工业...
我有以下在 solr 中索引的 xml: 我有以下在 solr 中索引的 xml: <doc> <field name="title" type="text_general" class="solr.TextField" indexed="true" stored="true" required="true" multiValued="false" >Sharknado 3</field> <field name="author">moriarti</field> <field name="price">20.5</field> </doc> <doc> <field name="title" type="text_general" class="solr.TextField" indexed="true" stored="true" required="true" multiValued="false" >Sharknado</field> <field name="author">moriarti</field> <field name="price">18</field> </doc> <doc> <field name="title" type="text_general" class="solr.TextField" indexed="true" stored="true" required="true" multiValued="false" >Sharknado 2</field> <field name="author">moriarti</field> <field name="price">19.5</field> </doc> 我遇到的下一个问题是,当我进行深度分页时,它迫使我按 id asc 或 id desc 排序,然后我无法按“标题”排序。 我尝试使用默认搜索字段(df),但结果仍然错误。 你知道我该如何解决这个问题,以便我可以按标题订购吗? 字段定义(带有类型等)进入您的模式,而不是更新 XML 中。 按分析的 TextField 排序也不是一个好主意,因为您不会得到您正在寻找的结果。如果您想按文本字段搜索,请按 string 字段排序,或按带有 KeywordTokenizer 和小写过滤器的字段排序(如果您想让排序不区分大小写)。 规则只是 id 字段(或更具体 - uniqueKey 字段可以命名为 id 之外的其他名称,但通常只是 id) - 必须在排序顺序中为 present。它不一定是第一个,它只需要在那里,这样排序就稳定了。 sort=title asc, id asc ..对于使用cursorMarks进行深度分页来说是完全有效的。 评论后进一步解释 Tokenizer 告诉 Solr 如何将输入文本 拆分为所谓的“Tokens”。令牌是正在执行匹配的对象。空白标记生成器会将“这是一个文本”拆分为四个标记:this、is、a 和 text。当您仅搜索 text 或 this text 时,会发生相同的过程,然后比较输入的和存储的标记以查看是否存在匹配。 还会对标记执行排序,因此如果您尝试对文本“c b a”进行排序,它将被标记为 c、b 和 a - 这对于排序来说并不是很有用,因为您希望以 c 开头的任何内容都在 b 之后进行排序,但现在文档拥有三个标记,指示其实际值。这个过程通常会给你带来奇怪和不直观的结果。 相反,请使用 string 字段,因为这会将输入保留为单个标记。如果您存储 a b c,则整个文本将存储为单个标记 - a b c,并且不会分解为更小的片段。这也意味着,只有输入和存储的文本完全匹配时,您才会获得命中,因为它是单个大令牌(而令牌决定匹配)。 但是由于字符串字段不执行任何操作,因此您可能希望将 a 和 A 作为同一字符进行排序,而不是首先对大写字母进行排序。实现此目的的方法是使用一个名为 KeywordTokenizer 的 Tokenizer - KeywordTokenizer 不会将输入文本拆分为标记,而是将所有内容保留为单个标记。这看起来没什么用,因为它与 string 字段的作用相同,但是带有 Tokenizer 的 TextField 允许您将过滤器附加到分析链 - 而字符串字段则不然。因此,您可以 将 LowercaseFilter 添加到链中,因此,为 a 和 A 生成的代币将是相同的 - 在这两种情况下都是 a。 您可以在 schema.xml 中或通过 Schema API 配置字段类型及其关联处理。您可以使用 copyField 告诉 Solr“进入此字段的任何内容也应该添加到另一个字段” - 这样您就可以让您的内容出现在多个字段中并以不同的方式处理 - 一种搜索方式(标记化)例如空格)和一种搜索方式(根本没有标记化)。 您在文档 XML 中的字段之一使用的语法并不适合在该上下文中使用 - 但在 schema.xml 中定义字段时: <field name="title" type="text_general" class="solr.TextField" indexed="true" stored="true" required="true" multiValued="false" /> 在您的文档中应该是: <field name="title">value</field> 处理和参数将基于schema.xml中定义的字段类型。 终于解决了, 在研究了一些关于标记器并尝试了一些事情之后...... First:我修改了 solrconfig.xml 以便能够手动编辑它。 我补充道: <schemaFactory class="ManagedIndexSchemaFactory"> <bool name="mutable">true</bool> <str name="managedSchemaResourceName">managed-schema</str> </schemaFactory> 如此处所示。 第二:我在manage-schema.xml中为我的字段更改了以下内容: <field name="title" type="text_general" multiValued="false" indexed="true" stored="true"/> 第三: 我在 solrj 中按照以下方式按分数和标题排序: query.addSort("score", ORDER.desc); query.addSort("title", ORDER.asc); query.addSort("id", ORDER.desc); 我在 solrj 中也有参数: query.setParam ("df", "title"); 这样就正确返回结果了。 感谢您抽出时间 MatsLindh。
使用具有复合唯一键的 Solr 进行深度分页时缺少 nextCursorMark
我正在使用 DataStax Cassandra 和 Solr 卡桑德拉 2.0.10.71 | DSE 4.6.0 | CQL 规范 3.1.1 | Thrift 协议 19.39.0 我有一个 Cassandra 列族: 创建表 kSpace.colfam1 ( 身份证号...
如何使用Solr从子文档中搜索父文档,同时显示相应子文档的分数?
我正在使用Solr进行嵌套文档搜索,根据子文档的向量距离获取相应的父文档。到目前为止,一切都很好。但是,我想显示 v...
我们的排序顺序无法正常工作,我发现这是因为生成的 solr 查询以 sort=date_tdts%20desc 结尾 - 当它应该以 sort=date_tdt%20desc 结尾时(注意额外的 's')... .
使用 solr 5.2.0 想知道是否有类似于 Elasticsearch 查询构建器 API 的查询构建器 API/Jar/Ckient 或者我们是否必须基本上执行 String Kungfu 来在 Solr 中构建查询?
收到“集群未找到/未准备好。预期的节点‘/aliases.json’不存在。” Solr Cloud 上出现错误
我们正在尝试升级到Solr 9.6.1和Zookeeper 3.7.1。但是,当使用 SolrJ Api 从 Java 连接到 Solr 时,我们收到以下错误。 无法连接到 172.23.152.117:2181 的集群:clus...
您好,我在使用 solr 时遇到一些问题。 在命令行中 solr.cmd post -c my_core my_path 错误是 PostTool:警告:响应: 正在搜索 Solr? 您必须输入正确的... 您好,我在使用 solr 时遇到一些问题。 在命令行中 solr.cmd post -c my_core my_path 错误是 PostTool: WARNING: Response: <p> Searching for Solr?<br/> You must type the correct path.<br/> Solr will respond. </p> 使用时 solr.cmd post -c #/my_core my_path 其他错误 PostTool: WARNING: IOException while posting data: java.io.IOException: Error writing request body to server PostTool: WARNING: IOException while reading response: java.io.IOException: Incomplete output stream ERROR: Error from server at http://localhost:8983/solr/: Expected mime type in [application/vnd.apache.solr.javabin, application/octet-stream] but got text/html. <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/> <title>Error 400 La méthode HTTP POST n''est pas supportée par cette URL</title> </head> <body><h2>HTTP ERROR 400 La méthode HTTP POST n''est pas supportée par cette URL</h2> <table> <tr><th>URI:</th><td>/solr/</td></tr> <tr><th>STATUS:</th><td>400</td></tr> <tr><th>MESSAGE:</th><td>La méthode HTTP POST n''est pas supportée par cette URL</td></tr> <tr><th>SERVLET:</th><td>LoadAdminUI</td></tr> </table> </body> </html> 因此,某些命令似乎需要 #/,但其他命令则不需要。有什么问题吗? 在浏览器中,需要主题标签 http://localhost:8983/solr ==> 主题标签自动添加到末尾 http://localhost:8983/solr/# http://localhost:8983/solr/my_core ==> 转到错误处 Searching for Solr? You must type the correct path. Solr will respond. http://localhost:8983/solr/#/geci/core-overview ==> 好的 Solr 的错误消息并不真正合适。 它可能是:“由于未配置,无法对 pdf 文件建立索引”。 该错误来自 server\solr\my_cor 的错误配置
如何指定 solr 中托管资源文件的默认路径。 我通过托管资源 api 使用同义词,它创建同义词配置文件 在 /var/solr/data/collection1/conf/ 下