目前Rails网站全文检索、中文分词一般都用什么方案?

193 views
Skip to first unread message

HoLin

unread,
Jul 12, 2011, 9:24:04 AM7/12/11
to shangha...@googlegroups.com
目前Rails网站全文检索、中文分词一般都用什么方案了?
Google了一下,都是很老的帖子了,好像都不是很好。Javaeye后来也转向lucene了

有没有Ruby的?简单点,好配置一点 :)

--
Regards
HoLin

Jason Lee

unread,
Jul 12, 2011, 9:25:46 AM7/12/11
to shangha...@googlegroups.com
ActiveRecord 的话,可以用 Thinking-sphinx 这个 Gem + Coreseek,很好用的

------------------------------------------------------
Jason Lee

--
--~--~---------~--~----~------------~-------~--~----~
Shanghai Ruby&Rails 爱好者论坛是一个非营利的民间组织,它旨在为Ruby&Rails爱好者提供一个自由,开放的交流平台,论坛每季度举行一次大型会议,会议的所有费用由赞助商支付,来宾不需交纳任何费用。
We push the china ruby&rails community forward!!
Shanghai Ruby&Rails的邮件列表地址是 shangha...@googlegroups.com
要了解更多详情,请访问 http://groups.google.com/group/shanghaionrails?hl=en?hl=en
退订请发送mail到 shanghaionrai...@googlegroups.com
--~--~---------~--~----~------------~-------~--~----~

G.zhen.ning

unread,
Jul 12, 2011, 9:27:24 AM7/12/11
to shangha...@googlegroups.com
thinking-sphinx,作者说迟点会支持国人改sphinx的coreseek.

2011/7/12 HoLin <holi...@gmail.com>
--

Jason Lee

unread,
Jul 12, 2011, 9:28:32 AM7/12/11
to shangha...@googlegroups.com
本来就支持的啊,很容易就搞上去了

------------------------------------------------------
Jason Lee

Jerry.S

unread,
Jul 12, 2011, 9:31:55 AM7/12/11
to shangha...@googlegroups.com
Thinking-sphinx. + coreseek
+1

发自我的 iPhone

HoLin

unread,
Jul 14, 2011, 11:21:26 AM7/14/11
to shangha...@googlegroups.com
用了 Thinking-sphinx. + coreseek + rails3

Thinking-sphinx取不到sphinx的版本信息,需要修改一下Thinking-sphinx。可能是用coreseek返回版本信息不一样的缘故。


Michael He

unread,
Jul 15, 2011, 2:00:34 AM7/15/11
to shangha...@googlegroups.com
试试这个,如果你不用innodb的话。
用了 Thinking-sphinx. + coreseek + rails3

Thinking-sphinx取不到sphinx的版本信息,需要修改一下Thinking-sphinx。可能是用coreseek返回版本信息不一样的缘故。

--
--~--~---------~--~----~------------~-------~--~----~
Shanghai Ruby&Rails 爱好者论坛是一个非营利的民间组织,它旨在为Ruby&Rails爱好者提供一个自由,开放的交流平台,论坛每季度举行一次大型会议,会议的所有费用由赞助商支付,来宾不需交纳任何费用。
We push the china ruby&rails community forward!!
Shanghai Ruby&Rails的邮件列表地址是 shangha...@googlegroups.com
要了解更多详情,请访问 http://groups.google.com/group/shanghaionrails?hl=en?hl=en
退订请发送mail到 shanghaionrai...@googlegroups.com
--~--~---------~--~----~------------~-------~--~----~



--
Best
Michael He

Quake Wang

unread,
Jul 15, 2011, 4:04:02 AM7/15/11
to shangha...@googlegroups.com
推荐一下Sunspot:
http://outoftime.github.com/sunspot/
他搜索服务器用的是solr(基于Java的Lucene)

Regards,
Quake

2011/7/12 HoLin <holi...@gmail.com>
--

Michael He

unread,
Jul 15, 2011, 4:35:51 AM7/15/11
to shangha...@googlegroups.com


2011/7/15 Quake Wang <quake...@gmail.com>

推荐一下Sunspot:
http://outoftime.github.com/sunspot/
他搜索服务器用的是solr(基于Java的Lucene)



支持中文么?
自动更新索引么?不需要定时任务的。



--
Best
Michael He

Quake Wang

unread,
Jul 15, 2011, 4:48:37 AM7/15/11
to shangha...@googlegroups.com
默认支持的中文是单字分词,你可以使用mmseg分词算法:
默认是通过ActiveRecord的create/update/destroy callback来更新/删除索引。

Regards,
Quake

2011/7/15 Michael He <hlx...@gmail.com>

yanqing pei

unread,
Jul 16, 2011, 10:38:56 AM7/16/11
to shangha...@googlegroups.com
coreseek thinking sphinx

张光宇

unread,
Jul 19, 2011, 12:39:27 AM7/19/11
to shangha...@googlegroups.com
通过配置sphinx的charset_table和ngram_chars, 足可以对付绝大部分的中英文搜索了。

如果想用更高级的分词算法,coreseek就派上用场了。代价就是需要编译一个修改过的sphinx,索引速度下降的厉害

我把我用到的thinking-in-sphinx的config/sphinx.yml文件放上来了:
rake ts:rebuild即可
https://gist.github.com/1091302

--
Best Regards

张光宇
msn: samwis...@hotmail.com

Eric

unread,
Aug 19, 2011, 9:25:41 AM8/19/11
to Shanghai on Rails
这个有使用mmseg4j实际设置过吗?我弄了近两天了,也没搭起来

On 7月15日, 上午4时48分, Quake Wang <quake.w...@gmail.com> wrote:
> 默认支持的中文是单字分词,你可以使用mmseg分词算法:http://code.google.com/p/mmseg4j/
> 默认是通过ActiveRecord的create/update/destroy callback来更新/删除索引。
>
> Regards,
> Quake
>

> 2011/7/15 Michael He <hlxw...@gmail.com>
>
>
>
>
>
>
>
>
>
> > 2011/7/15 Quake Wang <quake.w...@gmail.com>


>
> >> 推荐一下Sunspot:
> >>http://outoftime.github.com/sunspot/
> >> 他搜索服务器用的是solr(基于Java的Lucene)
>
> > 支持中文么?
> > 自动更新索引么?不需要定时任务的。
>
> >> Regards,
> >> Quake
>

> >> 2011/7/12 HoLin <holin...@gmail.com>


>
> >>> 目前Rails网站全文检索、中文分词一般都用什么方案了?
> >>> Google了一下,都是很老的帖子了,好像都不是很好。Javaeye后来也转向lucene了
>
> >>> 有没有Ruby的?简单点,好配置一点 :)
>
> >>> --
> >>> Regards
> >>> HoLin
>
> >>> --
> >>> --~--~---------~--~----~------------~-------~--~----~
> >>> Shanghai Ruby&Rails
> >>> 爱好者论坛是一个非营利的民间组织,它旨在为Ruby&Rails爱好者提供一个自由,开放的交流平台,论坛每季度举行一次大型会议,会议的所有费用由赞助商支付,来宾不需交纳任何费用。
> >>> We push the china ruby&rails community forward!!
> >>> Shanghai Ruby&Rails的邮件列表地址是 shangha...@googlegroups.com

> >>> 要了解更多详情,请访问http://groups.google.com/group/shanghaionrails?hl=en?hl=en


> >>> 退订请发送mail到 shanghaionrai...@googlegroups.com
> >>> --~--~---------~--~----~------------~-------~--~----~
>
> >> --
> >> --~--~---------~--~----~------------~-------~--~----~
> >> Shanghai Ruby&Rails
> >> 爱好者论坛是一个非营利的民间组织,它旨在为Ruby&Rails爱好者提供一个自由,开放的交流平台,论坛每季度举行一次大型会议,会议的所有费用由赞助商支付,来宾不需交纳任何费用。
> >> We push the china ruby&rails community forward!!
> >> Shanghai Ruby&Rails的邮件列表地址是 shangha...@googlegroups.com

> >> 要了解更多详情,请访问http://groups.google.com/group/shanghaionrails?hl=en?hl=en

Quake Wang

unread,
Aug 21, 2011, 9:13:37 PM8/21/11
to shangha...@googlegroups.com
按照solr和mmseg4j的文档进行配置即可,我们实际在用的例子,就是用mmseg
tokenizer和solr自带的Standard和LowerCase Filter:

<fieldtype class='solr.TextField' name='text' positionIncrementGap='100'>
<analyzer>
<tokenizer
class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="max-word"
dicPath="dic"/>
<filter class='solr.StandardFilterFactory' />
<filter class='solr.LowerCaseFilterFactory' />
</analyzer>
</fieldtype>

你遇到的错误日志是什么?

Regards,
Quake


2011/8/19 Eric <freder...@gmail.com>:

毛凌志

unread,
Aug 22, 2011, 8:50:07 AM8/22/11
to shangha...@googlegroups.com
gemfile中使用
gem 'sunspot_rails'

使用rake sunspot:solr:start来在程序目录生成solr文件夹
之后是将mmseg4j-core-1.8.4-with-dic.jar放入到solr/lib下

添加是在schema.xml中修改如你提供的这段代码

model中是这样的

Sunspot.setup(Post) do
  text :demand, :stored => true
end

能不能提供一下,您生成的并配置好的完整的solr的文件包,我看看是哪里错了,

错误日志如下
2011-8-22 20:14:46 org.apache.solr.core.SolrResourceLoader locateSolrHome
信息: JNDI not configured for solr (NoInitialContextEx)
2011-8-22 20:14:46 org.apache.solr.core.SolrResourceLoader locateSolrHome
信息: using system property solr.solr.home: /home/mlzboy/my/zdd/solr
2011-8-22 20:14:46 org.apache.solr.core.SolrResourceLoader <init>
信息: Solr home set to '/home/mlzboy/my/zdd/solr/'
2011-8-22 20:14:46 org.apache.solr.core.SolrResourceLoader replaceClassLoader
信息: Adding 'file:/home/mlzboy/my/zdd/solr/lib/mmseg4j-core-1.8.4-with-dic.jar' to classloader
2011-8-22 20:14:46 org.apache.solr.servlet.SolrDispatchFilter init
信息: SolrDispatchFilter.init()
2011-8-22 20:14:46 org.apache.solr.core.SolrResourceLoader locateSolrHome
信息: JNDI not configured for solr (NoInitialContextEx)
2011-8-22 20:14:46 org.apache.solr.core.SolrResourceLoader locateSolrHome
信息: using system property solr.solr.home: /home/mlzboy/my/zdd/solr
2011-8-22 20:14:46 org.apache.solr.core.CoreContainer$Initializer initialize
信息: looking for solr.xml: /home/mlzboy/my/zdd/solr/solr.xml
2011-8-22 20:14:46 org.apache.solr.core.SolrResourceLoader <init>
信息: Solr home set to '/home/mlzboy/my/zdd/solr/'
2011-8-22 20:14:46 org.apache.solr.core.SolrResourceLoader replaceClassLoader
信息: Adding 'file:/home/mlzboy/my/zdd/solr/lib/mmseg4j-core-1.8.4-with-dic.jar' to classloader
2011-8-22 20:14:46 org.apache.solr.core.SolrConfig initLibs
信息: Adding specified lib dirs to ClassLoader
2011-8-22 20:14:47 org.apache.solr.core.SolrConfig <init>
信息: Loaded SolrConfig: solrconfig.xml
2011-8-22 20:14:47 org.apache.solr.core.SolrCore <init>
信息: Opening new SolrCore at /home/mlzboy/my/zdd/solr/, dataDir=/home/mlzboy/my/zdd/solr/data/development/
2011-8-22 20:14:47 org.apache.solr.schema.IndexSchema readSchema
信息: Reading Solr Schema
2011-8-22 20:14:47 org.apache.solr.schema.IndexSchema readSchema
信息: Schema name=sunspot
2011-8-22 20:14:47 org.apache.solr.util.plugin.AbstractPluginLoader load
信息: created string: org.apache.solr.schema.StrField
2011-8-22 20:14:47 org.apache.solr.util.plugin.AbstractPluginLoader load
信息: created tdouble: org.apache.solr.schema.TrieDoubleField
2011-8-22 20:14:47 org.apache.solr.util.plugin.AbstractPluginLoader load
信息: created rand: org.apache.solr.schema.RandomSortField
2011-8-22 20:14:47 org.apache.solr.common.SolrException log
严重: org.apache.solr.common.SolrException: Error loading class 'com.chenlb.mmseg4j.solr.MMSegTokenizerFactory'
    at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:373)
    at org.apache.solr.core.SolrResourceLoader.newInstance(SolrResourceLoader.java:388)
    at org.apache.solr.util.plugin.AbstractPluginLoader.create(AbstractPluginLoader.java:84)
    at org.apache.solr.util.plugin.AbstractPluginLoader.load(AbstractPluginLoader.java:141)
    at org.apache.solr.schema.IndexSchema.readAnalyzer(IndexSchema.java:808)
    at org.apache.solr.schema.IndexSchema.access$100(IndexSchema.java:58)
    at org.apache.solr.schema.IndexSchema$1.create(IndexSchema.java:429)
    at org.apache.solr.schema.IndexSchema$1.create(IndexSchema.java:414)
    at org.apache.solr.util.plugin.AbstractPluginLoader.load(AbstractPluginLoader.java:141)
    at org.apache.solr.schema.IndexSchema.readSchema(IndexSchema.java:456)
    at org.apache.solr.schema.IndexSchema.<init>(IndexSchema.java:95)
    at org.apache.solr.core.SolrCore.<init>(SolrCore.java:520)
    at org.apache.solr.core.CoreContainer$Initializer.initialize(CoreContainer.java:137)
    at org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.java:83)
    at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:99)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
    at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:594)
    at org.mortbay.jetty.servlet.Context.startContext(Context.java:139)
    at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1218)
    at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:500)
    at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
    at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:147)
    at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:161)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
    at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:147)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
    at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117)
    at org.mortbay.jetty.Server.doStart(Server.java:210)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
    at org.mortbay.xml.XmlConfiguration.main(XmlConfiguration.java:929)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.mortbay.start.Main.invokeMain(Main.java:183)
    at org.mortbay.start.Main.start(Main.java:497)
    at org.mortbay.start.Main.main(Main.java:115)
Caused by: java.lang.ClassNotFoundException: com.chenlb.mmseg4j.solr.MMSegTokenizerFactory
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:627)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:247)
    at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:357)
    ... 37 more

2011-8-22 20:14:47 org.apache.solr.common.SolrException log
严重: org.apache.solr.common.SolrException: analyzer without class or tokenizer & filter list
    at org.apache.solr.schema.IndexSchema.readAnalyzer(IndexSchema.java:812)
    at org.apache.solr.schema.IndexSchema.access$100(IndexSchema.java:58)
    at org.apache.solr.schema.IndexSchema$1.create(IndexSchema.java:429)
    at org.apache.solr.schema.IndexSchema$1.create(IndexSchema.java:414)
    at org.apache.solr.util.plugin.AbstractPluginLoader.load(AbstractPluginLoader.java:141)
    at org.apache.solr.schema.IndexSchema.readSchema(IndexSchema.java:456)
    at org.apache.solr.schema.IndexSchema.<init>(IndexSchema.java:95)
    at org.apache.solr.core.SolrCore.<init>(SolrCore.java:520)
    at org.apache.solr.core.CoreContainer$Initializer.initialize(CoreContainer.java:137)
    at org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.java:83)
    at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:99)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
    at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:594)
    at org.mortbay.jetty.servlet.Context.startContext(Context.java:139)
    at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1218)
    at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:500)
    at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
    at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:147)
    at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:161)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
    at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:147)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
    at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117)
    at org.mortbay.jetty.Server.doStart(Server.java:210)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
    at org.mortbay.xml.XmlConfiguration.main(XmlConfiguration.java:929)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.mortbay.start.Main.invokeMain(Main.java:183)
    at org.mortbay.start.Main.start(Main.java:497)
    at org.mortbay.start.Main.main(Main.java:115)

2011-8-22 20:14:47 org.apache.solr.util.plugin.AbstractPluginLoader load
信息: created boolean: org.apache.solr.schema.BoolField
2011-8-22 20:14:47 org.apache.solr.util.plugin.AbstractPluginLoader load
信息: created date: org.apache.solr.schema.DateField
2011-8-22 20:14:47 org.apache.solr.util.plugin.AbstractPluginLoader load
信息: created sdouble: org.apache.solr.schema.SortableDoubleField
2011-8-22 20:14:47 org.apache.solr.util.plugin.AbstractPluginLoader load
信息: created sfloat: org.apache.solr.schema.SortableFloatField
2011-8-22 20:14:47 org.apache.solr.util.plugin.AbstractPluginLoader load
信息: created sint: org.apache.solr.schema.SortableIntField
2011-8-22 20:14:47 org.apache.solr.util.plugin.AbstractPluginLoader load
信息: created slong: org.apache.solr.schema.SortableLongField
2011-8-22 20:14:47 org.apache.solr.util.plugin.AbstractPluginLoader load
信息: created tint: org.apache.solr.schema.TrieIntField
2011-8-22 20:14:47 org.apache.solr.util.plugin.AbstractPluginLoader load
信息: created tfloat: org.apache.solr.schema.TrieFloatField
2011-8-22 20:14:47 org.apache.solr.util.plugin.AbstractPluginLoader load
信息: created tdate: org.apache.solr.schema.TrieDateField
2011-8-22 20:14:47 org.apache.solr.servlet.SolrDispatchFilter init
严重: Could not start SOLR. Check solr/home property
org.apache.solr.common.SolrException: Unknown fieldtype 'text' specified on field *_text
    at org.apache.solr.schema.IndexSchema.readSchema(IndexSchema.java:477)
    at org.apache.solr.schema.IndexSchema.<init>(IndexSchema.java:95)
    at org.apache.solr.core.SolrCore.<init>(SolrCore.java:520)
    at org.apache.solr.core.CoreContainer$Initializer.initialize(CoreContainer.java:137)
    at org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.java:83)
    at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:99)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
    at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:594)
    at org.mortbay.jetty.servlet.Context.startContext(Context.java:139)
    at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1218)
    at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:500)
    at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
    at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:147)
    at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:161)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
    at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:147)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
    at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117)
    at org.mortbay.jetty.Server.doStart(Server.java:210)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
    at org.mortbay.xml.XmlConfiguration.main(XmlConfiguration.java:929)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.mortbay.start.Main.invokeMain(Main.java:183)
    at org.mortbay.start.Main.start(Main.java:497)
    at org.mortbay.start.Main.main(Main.java:115)
2011-8-22 20:14:47 org.apache.solr.common.SolrException log
严重: org.apache.solr.common.SolrException: Unknown fieldtype 'text' specified on field *_text
    at org.apache.solr.schema.IndexSchema.readSchema(IndexSchema.java:477)
    at org.apache.solr.schema.IndexSchema.<init>(IndexSchema.java:95)
    at org.apache.solr.core.SolrCore.<init>(SolrCore.java:520)
    at org.apache.solr.core.CoreContainer$Initializer.initialize(CoreContainer.java:137)
    at org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.java:83)
    at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:99)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
    at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:594)
    at org.mortbay.jetty.servlet.Context.startContext(Context.java:139)
    at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1218)
    at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:500)
    at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
    at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:147)
    at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:161)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
    at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:147)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
    at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117)
    at org.mortbay.jetty.Server.doStart(Server.java:210)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
    at org.mortbay.xml.XmlConfiguration.main(XmlConfiguration.java:929)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.mortbay.start.Main.invokeMain(Main.java:183)
    at org.mortbay.start.Main.start(Main.java:497)
    at org.mortbay.start.Main.main(Main.java:115)

2011-8-22 20:14:47 org.apache.solr.servlet.SolrDispatchFilter init
信息: SolrDispatchFilter.init() done
2011-8-22 20:14:47 org.apache.solr.servlet.SolrServlet init
信息: SolrServlet.init()
2011-8-22 20:14:47 org.apache.solr.core.SolrResourceLoader locateSolrHome
信息: JNDI not configured for solr (NoInitialContextEx)
2011-8-22 20:14:47 org.apache.solr.core.SolrResourceLoader locateSolrHome
信息: using system property solr.solr.home: /home/mlzboy/my/zdd/solr
2011-8-22 20:14:47 org.apache.solr.servlet.SolrServlet init
信息: SolrServlet.init() done
2011-8-22 20:14:47 org.apache.solr.core.SolrResourceLoader locateSolrHome
信息: JNDI not configured for solr (NoInitialContextEx)
2011-8-22 20:14:47 org.apache.solr.core.SolrResourceLoader locateSolrHome
信息: using system property solr.solr.home: /home/mlzboy/my/zdd/solr
2011-8-22 20:14:47 org.apache.solr.servlet.SolrUpdateServlet init
信息: SolrUpdateServlet.init() done
--
找伙伴一起找项目创业,互联网方向或其它靠谱方向,有议加我QQ:1036130199
http://lexus.cnblogs.com

solr.tar

Jason Lee

unread,
Aug 22, 2011, 10:27:14 AM8/22/11
to shangha...@googlegroups.com

用 think-sphinx 吧,我已经在很多个项目中搞过了,很是靠谱。
另外如果只是需要简单搜索标题的话,可以试试 redis-search 这个 gem , 我最近搞的。

Dai Zhong

unread,
Aug 22, 2011, 11:13:01 AM8/22/11
to shangha...@googlegroups.com
lucene啊

2011/8/19 Eric <freder...@gmail.com>
要了解更多详情,请访问 http://groups.google.com/group/shanghaionrails?hl=en?hl=en
退订请发送mail到 shanghaionrai...@googlegroups.com
--~--~---------~--~----~------------~-------~--~----~



--
----------------------------------------------
From ZhongDai's Gmail
MSN:bigapp...@hotmail.com

毛凌志

unread,
Aug 22, 2011, 12:47:31 PM8/22/11
to shangha...@googlegroups.com
核心是词库,如果有时间能沉下心来自己写一下是最好的,C++的东西还是感觉太晦涩了,出了问题不好改,java的话还有这个可能,另外这个sunspot还有一个sunspot_with_kaminari 的分页,我觉得能搭起来得话,还是比较完美的。
其实我需要的是一个带权重的多域相关性搜索排序,真得要做得好也得写solr扩展,我就想将就算了

Quake Wang

unread,
Aug 22, 2011, 9:23:34 PM8/22/11
to shangha...@googlegroups.com
错误:
> Caused by: java.lang.ClassNotFoundException: com.chenlb.mmseg4j.solr.MMSegTokenizerFactory <

你没有将mmseg4j这个jar放入到classpath中,我没有使用过sunspot gem自带的solr web
app,我是将mmseg4j-all.jar和solr 应用打了一个war,放到了web application
server上,然后单独启动了这个server,没有看过sunspot自带的这个命令是如何读取classpath的,你可以看一下他的启动脚本,看上去他不会自动将solr/lib目录下的jar加到classpath。而且sunspot内置的web
app只适合用来做开发调试和小数据量的应用,大规模的数据还是需要自己进行配置,包括集群的支持等,额外的配置还是少不了的。

Regards,
Quake

2011/8/22 毛凌志 <freder...@gmail.com>:

Reply all
Reply to author
Forward
0 new messages