我正在从RDBMS索引.我在表中有一个列有管道分隔值的列,在索引时我想将这些值转换为多值字段.例如,
ColumnA (From RDBMS)
---------------------
apple|orange|banana
Run Code Online (Sandbox Code Playgroud)
我想将其转换为:
SOLR Index
------------
Fruit=apple
Fruit=orange
Fruit=banana
Run Code Online (Sandbox Code Playgroud) PS:如果我在任何方面都错了,请纠正我
我正在用Nutch和Solr建立一个搜索引擎.
我知道通过使用Solr,我可以提高搜索的效率 - 让Nutch独自完成整个网络的爬行.
我也知道Hadoop用于通过形成集群和MapReduce来处理数PB的数据.
现在,我想知道的是
1)因为,我将只在一台机器上运行这些开源软件,也就是说,我的笔记本电脑在localhost上运行......在我的情况下,Hadoop如何形成集群是多么有益?如何在一台机器上形成集群?
2)在我的案例中,MapReduce的重要性是什么?
3)MAHOUT,CASSANDRA和HBASE如何影响我的发动机???
非常感谢这方面的任何帮助.如果我问一个菜鸟问题,请告诉我!
谢谢你
的问候
任何人都可以帮助我为SDL Tridion 2011中的Deployer Extension提供原型或方法,以便这个应用程序/进程/模块可以使用delta发布并将该内容索引到Apache Solr中吗?
我正在使用ASP.net MVC3电子商务项目开发Solr 3.6.
我有一个appx索引.1个Lac产品在Solr.需求有一些变化,我们需要重建整个索引.整个索引需要大约1个半小时,在此期间网站需要关闭.
如何重建索引并保持网站直播服务旧索引的内容.什么是在重建整个索引时减少停机时间的最佳实践.我希望我能以100%的正常运行时间做到这一点.
编辑 我将几个URL存储到Solr数据中作为存储字段,因此,在将数据添加到Solr时动态生成这些URL.如果我在不同的子域(例如test.example.com)上部署应用程序,那么它将使用错误的URL,其中它仅适用于example.com.所以托管另一个应用程序对我来说不是一个选择.
如果我搜索"Movies 10"它,则找到名称为的文档Movies 10
如果我搜索Movies 10它,则不返回任何文件.
以下是我的架构:
<?xml version="1.0" encoding="UTF-8" ?>
<schema name="entertainment" version="1.0">
<types>
<!-- The StrField type is not analyzed, but indexed/stored verbatim. -->
<fieldType name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/>
<fieldType name="int" class="solr.TrieIntField" precisionStep="0" omitNorms="true" positionIncrementGap="0"/>
<fieldType name="uuid" class="solr.UUIDField" indexed="true"/>
<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
<!-- in this example, we will only use synonyms at query time
<filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/>
-->
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer> …Run Code Online (Sandbox Code Playgroud) 我尝试solr在Heroku 上停止服务器(已经安装了Websolr $ 20插件),但我无法这样做.
$ heroku run rake sunspot:solr:stop
Running `rake sunspot:solr:stop` attached to terminal... up, run.1
java version "1.6.0_20"
OpenJDK Runtime Environment (IcedTea6 1.9.9) (6b20-1.9.9-0ubuntu1~10.04.2)
OpenJDK 64-Bit Server VM (build 19.0-b09, mixed mode)
rake aborted!
No PID file at /app/solr/pids/production/sunspot-solr-production.pid
Tasks: TOP => sunspot:solr:stop
(See full trace by running task with --trace)
Run Code Online (Sandbox Code Playgroud)
知道为什么会这样吗?
如果我的SOLR索引中有2条记录使用相同的电子邮件地址,并且我的关键字搜索在结果集中获取了它们,我该如何显示其中一条.例如;
记录1:
<doc>
<id>123</id>
<name>Adil Malik</name>
<email>abc@hotmail.com</email>
<jobtitile>Software Engineer</jobtitle>
</doc>
Run Code Online (Sandbox Code Playgroud)
记录2:
<doc>
<id>456</id>
<name>Adil Malik</name>
<email>abc@hotmail.com</email>
<jobtitile>Database Developer</jobtitle>
</doc>
Run Code Online (Sandbox Code Playgroud)
如果我们使用"abc@hotmail.com"搜索,它将返回两个记录,但我想显示其中任何一个.如果我们有2个相同的电子邮件地址,我如何在SOLR搜索中查询只显示一条记录?
注意:我想将这两个记录保存到我的SOLR索引中.
回复@Layke

我怀疑即使在我努力的时候我也无法回答自己.
我认为这是一个理解问题.
所以...
我试图索引一个长文本字段(产品描述),它可以有重复的单词.让我们说我们正在谈论一种味道,我们说巧克力,然后继续说话,然后再说巧克力.
当solr进行索引时(据我理解solr控制面板中的分析选项卡),它将创建一个术语(它们是"指针",每个术语 - >与一个标识"项目"的uniqueKey属性相关联)我们拥有的每个标记.
solr索引是否会有两个术语指向同一个项目?
这是我的文本分析器:
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.GermanNormalizationFilterFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_de.txt" enablePositionIncrements="true" />
<filter class="solr.EnglishPossessiveFilterFactory"/>
<filter class="solr.EnglishMinimalStemFilterFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_en.txt" enablePositionIncrements="true" />
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
</analyzer>
Run Code Online (Sandbox Code Playgroud)
我虽然删除了重复条目,但是当我查看分析时发现:

据我所知,最后,在我的索引中,这三个术语将指向"项目":巧克力,blablabla和巧克力.是对的吗 ?
我希望问题很清楚:)
谢谢 !
我是Solr的新手.我正在为我的应用程序实现自动完成功能.我在solr中配置了必需的字段,并创建了一个自定义请求处理程序/建议.我发现通过solr java client solrj访问它很棘手.我对solr的弹簧数据甚至没问题.请有人帮助从solr java客户端访问我的自定义请求处理程序.
是否可以根据特定条件在Solr中定义查询字段?例如,我有三个字段文本,标题和产品.solr配置定义:
<str name="qf">text^0.5 title^10.0 Product</str>
Run Code Online (Sandbox Code Playgroud)
我在这里看到的是仅在满足某些条件时将"产品"包括为可搜索字段,例如,如果作者:"Tom",则在Product中搜索.
有没有办法在使用edismax的查询时间内执行此操作?
替代方案是在索引时间内将产品信息添加到文档的文本或标题(其中author = Tom),以便可以搜索.但是,如果可能的话,我试图避免这种情况.
任何指针将不胜感激.
-谢谢