标签: solr4

无法在Solr 4.4中加载KeywordRepeatFilter

我正在使用Apache Solr的4.4版本.如Solr文档中所述

<fieldType name="text_keyword" class="solr.TextField" positionIncrementGap="100">
 <analyzer>
   <tokenizer class="solr.WhitespaceTokenizerFactory"/>
   <filter class="solr.KeywordRepeatFilter"/>
   <filter class="solr.PorterStemFilterFactory"/>
   <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
 </analyzer>
</fieldType>
Run Code Online (Sandbox Code Playgroud)

我正在使用上面的代码.但是,由于我收到错误,"KeywordRepeatFilter"似乎存在一些问题

org.apache.solr.common.SolrException:[schema.xml] fieldType"text_keyword"的插件初始化失败:[schema.xml] analyzer/filter的插件初始化失败:在org.apache中加载类'solr.KeywordRepeatFilter'时出错. solr.util.plugin.AbstractPluginLoader.load(AbstractPluginLoader.java:177)位于org.apache.solr.schema.IndexSchema的org.apache.solr.schema.IndexSchema.readSchema(IndexSchema.java:467).(IndexSchema.java :164)at org.apache.solr.schema.IndexSchemaFactory.create(IndexSchemaFactory.java:55)

但是当我删除solr.KeywordRepeatFilter行时,一切似乎都运行正常.任何人都可以告诉我有什么问题.是否从Solr 4.4中删除了"solr.KeywordRepeatFilter"?

solr solr4

2
推荐指数
1
解决办法
447
查看次数

Solr to Tokenize on white space,逗号和句点

我试图迫使Solr在白色空格,逗号:;.上标记文档 .与SQL Server全文搜索类似的东西.如果我使用text_general字段然后它标记其他字符也像('/','\','-')我尝试使用

<tokenizer class="solr.PatternTokenizerFactory" pattern="\s*,:;\s*"/>
Run Code Online (Sandbox Code Playgroud)

但它没有标记它.这是我的FieldType样子:

<fieldType name="text_sqlserver" class="solr.TextField" positionIncrementGap="100">
  <analyzer type="index">
    <tokenizer class="solr.PatternTokenizerFactory" pattern="\s*,:;\s*"/>
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
    <filter class="solr.LowerCaseFilterFactory"/>
  </analyzer>
  <analyzer type="query">
    <tokenizer class="solr.PatternTokenizerFactory" pattern="\s*,:;\s*"/>
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
    <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
    <filter class="solr.LowerCaseFilterFactory"/>
  </analyzer>
</fieldType>
Run Code Online (Sandbox Code Playgroud)

有什么我想念的吗?我也必须搜索不区分大小写的比较.

solr solrnet solr4

2
推荐指数
1
解决办法
2649
查看次数

如何查询(通过url)solr.admin.LukeRequestHandler以获取集合索引数据

我想使用Solr模式中建议的luke处理程序,如何获取集合中的动态字段,即http:// solr:8983/solr/admin/luke?numTerms = 0

但4.10.3 solrconfig.xml有以下条目,表示luke已被转入/ admin /,我应该可以使用http:// localhost:8983/solr/admin路径,这给我一个404错误.

  <requestHandler name="/admin/"
                  class="solr.admin.AdminHandlers" />
  <!-- This single handler is equivalent to the following... -->
  <!--
     <requestHandler name="/admin/luke"       class="solr.admin.LukeRequestHandler" />
     <requestHandler name="/admin/system"     class="solr.admin.SystemInfoHandler" />
     <requestHandler name="/admin/plugins"    class="solr.admin.PluginInfoHandler" />
     <requestHandler name="/admin/threads"    class="solr.admin.ThreadDumpHandler" />
     <requestHandler name="/admin/properties" class="solr.admin.PropertiesRequestHandler" />
     <requestHandler name="/admin/file"       class="solr.admin.ShowFileRequestHandler" >
    -->
Run Code Online (Sandbox Code Playgroud)

当我查找LukeRequestHandler文档时,我找到了http://lucene.apache.org/solr/4_4_0/solr-core/org/apache/solr/handler/admin/LukeRequestHandler.html,希望我正在构建一个java应用程序,我不是.

我试图在网址中找到几种方法,其中所有方法都是404.

除了"如何查询luke处理程序以获取索引数据"之外,"这是我正在试图找出的正确文档吗?".

任何帮助理解(这些)java文档如何与我试图理解Solr如何从url工作将非常感激.

solr4

2
推荐指数
1
解决办法
1960
查看次数

无法在Solr云上创建集合

我无法在Solr Cloud中创建名为“ testCollection”的集合。

网址:: 8080 / solr / admin / collections?action = CREATE&name = testCollection

回应

<str name="Operation create caused exception:">
org.apache.solr.common.SolrException:org.apache.solr.common.SolrException: No config set found to associate with the collection.
</str>
Run Code Online (Sandbox Code Playgroud)

根据文档:https://cwiki.apache.org/confluence/display/solr/Collections+API#CollectionsAPI)用于创建收集API,"collection.configName"不是必填字段。如果未提供,Solr将默认使用集合名称作为配置名称。

为什么我仍然面临这个问题?

是否必须使用collection.configName?

如何在Zookeeper上找到关联的collection.configName?

solr solrj solrcloud solr4

2
推荐指数
1
解决办法
2989
查看次数

用于xml文件的DIH(数据导入处理程序)在Solr4中不起作用

我已经在服务器上安装并配置了Solr4和tomcat6.它工作得很好,但是当我尝试构建DIH(数据导入处理程序)时,它给了我一个错误,我无法解决.

我将以下代码添加到我的solrconfig.xml文件中

<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
  <str name="config">/path/to/data-config.xml</str>
</lst>
Run Code Online (Sandbox Code Playgroud)

我的data-config.xml文件如下所示

<dataConfig>
<dataSource type="FileDataSource" />
<document>
    <entity name="f" processor="FileListEntityProcessor" baseDir="/path/to/basedirectory/toxmlfiles/" fileName=".*xml" recursive="true" rootEntity="false" dataSource="null">
        <field column="plainText" name="text"/>
    </entity>
</document>
Run Code Online (Sandbox Code Playgroud)

我点击localhost时在浏览器上遇到的错误:8080/solr / 浏览器错误 我的错误日志中的错误是

       SEVERE: Unable to create core: collection1
       org.apache.solr.common.SolrException: RequestHandler init failure
       at org.apache.solr.core.RequestHandlers.initHandlersFromConfig(RequestHandlers.java:168)
       at org.apache.solr.core.SolrCore.<init>(SolrCore.java:657)
       at org.apache.solr.core.SolrCore.<init>(SolrCore.java:566)
       at org.apache.solr.core.CoreContainer.create(CoreContainer.java:850)
       at org.apache.solr.core.CoreContainer.load(CoreContainer.java:534)
       at org.apache.solr.core.CoreContainer.load(CoreContainer.java:356)
       at org.apache.solr.core.CoreContainer$Initializer.initialize(CoreContainer.java:308)
       at org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.java:107)
       at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:295)
       at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422)
       at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:115)
       at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3838)
       at org.apache.catalina.core.StandardContext.start(StandardContext.java:4488)
       at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
       at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
       at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526)
       at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:637)
       at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:563)
       at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:498) …
Run Code Online (Sandbox Code Playgroud)

solr dataimporthandler dih solr4

1
推荐指数
1
解决办法
4442
查看次数

Solr全进口性能

我有一小组查询和实体,即使性能非常差,我只想知道我可以做些什么技巧和配置来提高性能?

注意我正在使用Solr 4.1.

solr solr4

1
推荐指数
1
解决办法
1675
查看次数

在Solr 4中配置运行状况检查

如何配置健康检查?

什么是Solr 4中的Healthcheck文件?它是如何使用的?我正在配置Solr Cloud并找到该文件的引用,该文件应该在那里,但没有找到任何示例配置.

任何关于如何使用它的链接/文章/示例都非常感谢.

谢谢

solr solrcloud solr4

1
推荐指数
1
解决办法
7947
查看次数

使用 solr 查找缺失值时出现负面方面查询的问题

我正在为我们的网站开发产品过滤器,但在使用“facet.missing = true”时遇到了一些困难。

我知道我应该使用像“fq=-facetField:[* TO *]”这样的查询过滤器来将结果过滤到缺少该字段的产品。

我为我的应用程序构建了一个全局过滤器助手,它为所有查询动态构建 fq 参数,以防止任何人错过基于用户权限的过滤器,它基本上如下所示(php):

$params['fq'] = sprintf('((%s) AND (%s))', $custom, $system);
Run Code Online (Sandbox Code Playgroud)

其中 $system 是基于全局权限的过滤器,它可能看起来像(不是实际但相似):

(isdiscontinued:0 AND ishidden:0 AND contract:3)
Run Code Online (Sandbox Code Playgroud)

$custom 包含用户通过 UI 构建的实际过滤器查询。假设笔记本蓝牙过滤器的名称为 fq_bluetooth,其值为:No、Yes 或值丢失。这将使最终的 fq 看起来像:

((-fq_bluetooth:[* TO *]) AND ((isdiscontinued:0 AND ishidden:0 AND contract:3)))
Run Code Online (Sandbox Code Playgroud)

但是,这会为我为此类别发送的查询返回 0 个产品。

如果我将过滤器查询修改为:

((fq_bluetooth:[* TO *]) AND ((isdiscontinued:0 AND ishidden:0 AND contract:3)))
Run Code Online (Sandbox Code Playgroud)

然后我得到了 Yes + No 计数的预期结果,不考虑未指定的。

我应该如何格式化过滤器查询以使其正常工作?

[编辑]

我可能还想结合这些方面,并且可能只过滤没有蓝牙的产品或未指定蓝牙的产品。所以也许像这样(当然这也不起作用):

((-fq_bluetooth:[* TO *] OR fq_bluetooth:"No") AND ((isdiscontinued:0 AND ishidden:0 AND contract:3)))
Run Code Online (Sandbox Code Playgroud)

我注意到 debugQuery 打开,我看到一个过滤器查询,如:

fq_bluetooth:("No" OR -[* TO …
Run Code Online (Sandbox Code Playgroud)

solr faceted-search solr4

1
推荐指数
1
解决办法
1599
查看次数

PHP日光浴:更新文档部分

我想用PHP Solarium更新Apache Solr 4.0中的文档部分,而不是更新整个文档.我知道它在Solr中的可能性(Solr中的文档),我无法找到有关如何在日光浴室中执行此操作的任何文档.所有现有的Solarium文档都指向我更新整个文档,这是有问题的和不必要的.

php solr solarium solr4

1
推荐指数
1
解决办法
1519
查看次数

schema.xml从Solr4更改为Solr5

我正在从Solr 4.6.0迁移到5.4.0.我们选择使用旧的schema.xml而不是使用managed_schema,因为我们有相当多的copyField.启动solr服务器,我们收到此错误:

[schema.xml] fieldType"text_general"的插件初始化失败:[schema.xml]分析器/过滤器的插件初始化失败:实例化类的错误:'org.apache.lucene.analysis.core.StopFilterFactory'

在谷歌上,我们看到StopFilterFactory尚未弃用.可能是什么问题呢?

此外,还没有关于如何在Solr5中使用Solr4架构的全面指南.有什么建议?

谢谢

field solr4 solr5

1
推荐指数
1
解决办法
2777
查看次数

在alfresco中使用dbid搜索节点?

我有一些数据库ID.我试图运行查询以找出相应的节点,但它不起作用.告诉我如何使用Database ID编写正确的查询?

solr alfresco alfresco-share solr4 alfresco-webscripts

1
推荐指数
1
解决办法
846
查看次数

在 Solr 中查找重复值

有没有办法构造一个查询,以便它可以识别/返回特定字段重复的文档。我正在寻找的是 SQL 中的等效项:

SELECT content, count(*) FROM documents GROUP BY content ORDER BY count(*) DESC
Run Code Online (Sandbox Code Playgroud)

基本上,给我内容相同的文件。我发现的所有内容都讨论了如何在插入时丢弃重复项,或者如何在搜索结果中删除它们。我尝试使用FieldCollapsing,但出现以下错误:

"error": {
  "msg": "can not use FieldCache on a field which is neither indexed nor has doc values: content",
  "code": 400
}
Run Code Online (Sandbox Code Playgroud)

基于错误,我认为它失败了,因为content没有编入索引。我尝试使用另一个索引而不是多值的字段来进行分组,该字段存储文档 URL,但我无法对结果组进行正面或反面,尤其是groupValue. 我可以尝试创建一个被索引的复制字段,但我不确定这是否会给我我正在寻找的东西,我的爬虫需要超过 24 小时才能爬行。

solr solr4

0
推荐指数
1
解决办法
7643
查看次数

在云模式下设置 Apache Solr

我必须执行以下操作:

  1. 我必须在 2 个服务器/节点上部署 Solr。
  2. 在另一台服务器上部署 Zookeeper。
  3. 将自定义配置上传到 Zookeeper
  4. 创建具有 2 个分片和 2 个副本的自定义集合

Solr 7.4.0 和 Zookeeper 版本: 3.4.12

我做了以下事情:

设置动物园管理员:

  • 创建了一个 Zookeeper 数据文件夹并创建了一个 Zoo.conf 并将 dataDir 放在那里。
  • 开始使用 Zookeeper./zkServer.sh start

设置 Solr:

  • 使用以下命令启动 Solr:

    ./solr start -cloud -s /home/demo/LocalFolder/Downloads/SolrHome -p 8987 -z localhost:2181

  • 尝试使用以下方式在 Zookeeper 中上传配置: ./solr create -c mycollection -d /media/sf_VM/Dump/conf

它给了我一个例外:

Caused by: javax.servlet.UnavailableException: Error processing the request. CoreContainer is either not initialized or shutting down.
    at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:341)
    at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:323)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1634)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
    at …
Run Code Online (Sandbox Code Playgroud)

lucene solr solrcloud solr4 apache-zookeeper

0
推荐指数
1
解决办法
7753
查看次数