Giter Site home page Giter Site logo

mmseg4j-solr's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mmseg4j-solr's Issues

分不出中英组合词

你好,像“T恤”这样的词分不出来,即使在自定义词库增加这样的词 也分不出来,谢谢!

各版本都跟solr 4.2.1不合

經過測試,1.9.1 2.0.0 2.0.1 都跟 solr 4.2.1 不合。
不過我想也不用修了,在 readme 寫個警告即可。
我升上 4.3 就沒問題了。

Caused by: org.apache.solr.common.SolrException: Error instantiating class: 'com.chenlb.mmseg4j.solr.MMSegTokenizerFactory'
        at org.apache.solr.core.SolrResourceLoader.newInstance(SolrResourceLoader.java:473)
        at org.apache.solr.util.plugin.AbstractPluginLoader.create(AbstractPluginLoader.java:89)
        at org.apache.solr.util.plugin.AbstractPluginLoader.load(AbstractPluginLoader.java:151)
        ... 16 more
Caused by: java.lang.InstantiationException: com.chenlb.mmseg4j.solr.MMSegTokenizerFactory
        at java.lang.Class.newInstance(Class.java:359)
        at org.apache.solr.core.SolrResourceLoader.newInstance(SolrResourceLoader.java:470)
        ... 18 more

中文分词问题

比如“哈尔滨市” 用Complex和Simple模式都会只会分出来“哈尔滨市” 而不能分出来“哈尔滨市”和“哈尔滨”,用MaxWord分出来了“哈”,“尔”,“滨”,“市”,这个要怎么解决呢?感谢作者。

中文加入空格问题

1.91版本,中文中加入空格好像就不能正确的分词了,不知道有没有遇到过。 比如我搜索“你好 世界”,和“你好”以及“世界”的结果都查询不到,但是连起来搜索“你好世界”的时候,就可以查出两个词语的结果。

会有自定义词库不生效情况?[UTF8 的 bom 问题]

solr 4.10.4
mmseg4j 2.2.0
自定义词库“女式”,
"parsedquery_toString": "text:女 text:式"

但是其他自定义词如“女款”却可以
另外,我把jar包里的词库去掉,放到dicPath下,加入"女式",却又生效,折腾好长时间了。。
另,拿最新源码跑单元测试好像是正常的。
初接触solr,如有理解错误,见谅

没有文档

我只想调用一下对字符串分词一下,可是没有介绍,不知道怎么用,网上也搜不到说明、
难道靠猜?

java.lang.NoSuchMethodError: com.chenlb.mmseg4j.analysis.MMSegTokenizer.<init>(Lcom/chenlb/mmseg4j/Seg;)V

qq 20170208174043

神啊!救救我吧!
window + tomcat9 +solr6.3 + mmseg4j-core-1.10.0 + mmseg4j-analysis-1.9.1 + mmseg4j-solr-2.4.0

`






<fieldtype name="aComplex" class="solr.TextField" positionIncrementGap="100">
	<analyzer>
		<tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="C:/solr/fenchi"/>
	</analyzer>
</fieldtype>
<fieldtype name="aMaxWord" class="solr.TextField" positionIncrementGap="100">
	<analyzer>
		<tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="max-word" />
	</analyzer>
</fieldtype>
<fieldtype name="aSimple" class="solr.TextField" positionIncrementGap="100">
	<analyzer>
		<tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="simple" dicPath="C:/solr/fenchi"/>
	</analyzer>
</fieldtype>

`

complex算法并没有实现最多分词

你好,我使用的是mmseg4j-core-1.9.1,在介绍中,我看到了“1.6版在complex基础上实现了最多分词(max-word)。“很好听” -> "很好|好听"; “中华人民共和国” -> "中华|华人|共和|国"; “**人民银行” -> "**|人民|银行"。”
我使用了自定义的中文词库,总共有60多万个词条,但是我在Solr Admin中测试发现complex并没有实现最多分词。
比如我输入:“中华人民共和国",则分词的结果为:”中华人民共和国“,我输入”很好听的一首歌曲“,则分词的结果为:”很好听“,”一首“,”歌曲“。我想请问下是不是我需要配置什么filter之类吗,下面是我的配置:





运行测试用例报 fix your classpath to have tests-framework.jar before lucene-core.jar

运行测试用例报 "java.lang.AssertionError: fix your classpath to have tests-framework.jar before lucene-core.jar" 错。

java.lang.AssertionError: fix your classpath to have tests-framework.jar before lucene-core.jar
    at __randomizedtesting.SeedInfo.seed([A21B138876C58AF1]:0)
    at org.apache.lucene.util.TestRuleSetupAndRestoreClassEnv.before(TestRuleSetupAndRestoreClassEnv.java:187)
    at org.apache.lucene.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:45)
    at org.apache.lucene.util.TestRuleStoreClassName$1.evaluate(TestRuleStoreClassName.java:42)
    at com.carrotsearch.randomizedtesting.rules.SystemPropertiesInvariantRule$1.evaluate(SystemPropertiesInvariantRule.java:55)

“连衣裙”,要求搜索前缀“连衣”也能得到结果,我的解决方法是否可行?

要求用户搜素某个词的前几个字也可以得到结果。以“连衣裙”为例,maxword分词结果为“连 | 衣裙”。要求用户搜索“连”或“连衣”都要有结果。我看了下淘宝和京东目前能做到这一点。
这一点现在可以通过模糊查询实现,但担心对较短的中文字词进行频繁模糊查询会影响性能(这个究竟影响多少尚未实测),我希望用空间换时间。
我的解决方案如下:
1、先用mmsege4j进行正常分词
2、将上面正常分词中长度大于等于3的词的前缀也分出来,不管它是不是一个正常的词,比如是“连衣裙”就把“连衣”也分出来。
3、将整个句子分成单字
最后的结果是上面3个集合的和。

这种方案是否能解决我提到的问题?

是否可以提供更详细的文档?

感谢你的出色贡献。是否可以提供更详细的文档与配置说明?
比如对版本的要求,程序文件应该放置到那个目录?应该修改哪个配置文件等等。

Why defaultDicPath not exist?

  • 我Solr安裝在Windows 7 64bit下的d:\solr-5.4.1。我把mmseg4j的jar檔放到d:\solr-5-4.1\server\solr-webapp\WEB-INF\lib下。然後我用Solrcloud模式啟動Solr後,console顯示下面訊息:

警告: defalut dic path=file:\D:\solr-5.4.1\server\solr-webapp\webapp\WEB-INF\lib\mmseg4j-core-1.10.0.jar!\data not exist
資訊: try to load dir=file:\D:\solr-5.4.1\server\solr-webapp\webapp\WEB-INF\lib\mmseg4j-core-1.10.0.jar!\data
Jul 05, 2016 4:22:50 上午 com.chenlb.mmseg4j.Dictionary loadDic
資訊: chars loaded time=21ms, line=12638, on file=file:\D:\solr-5.4.1\server\solr-webapp\webapp\WEB-INF\lib\mmseg4j-core-1.10.0.jar!\data\chars.dic

...

  • 在Solrconfig.xml中我宣告了mmseg4j的request handler如下:
  <requestHandler name="/mmseg4j" class="com.chenlb.mmseg4j.solr.MMseg4jHandler" >
    <lst name="defaults">
      <str name="dicPath">mydic</str>
      <str name="check">true</str>
      <str name="reload">false</str>
      <str name="mode">simple</str>
    </lst>
  </requestHandler>

我有兩件事不解:
(1) 字典目錄預設應該是在mmseg4j-core-1.10.0.jar裡面的data目錄,我也確定這個目錄和裡面的字典檔案確實存在,但是為何上面的警告訊息顯示"not exist". jar!的驚嘆號是什麼意思?我如果讓這個警告消失?
(2) 在宣告request handler時,我預設了dicPath的值為mydic。為什麼上面訊息顯示出仍然是由jar檔中的dat目錄下讀取字典檔?另外mydic目錄應該建立在哪裡?

集成到solr7.7中总是报错,有没有解决方法

我集成到solr7.7中总是报错,有没有解决过这问题的?
possible analysis error: startOffset must be non-negative, and endOffset must be >= startOffset, and offsets must not go backwards startOffset=4,endOffset=15,lastStartOffset=11 for field 'msg'

ClassNotFoundException

java.lang.ClassNotFoundException: com.chenlb.mmseg4j.Seg

solr-5.0 mmseg4j-solr-2.3.0

import mmseg4j-core-1.0.0 fix it

solr6.1已经不支持getInstanceDir()函数了

在solr6.1中,getInstanceDir()已经被换为getInstancePath(),请作者进行升级。
在现有版本中,要避免该函数带来的问题,需要在设置dicpath的时候使用绝对路径,而不要使用相对路径

如何在分词时区分大小写呢?

如何在分词时区分大小写呢? 现在分词时就直接将原始词转为小写了,能不能在分词时可以指定是否是区分大小写?

请问能用在solr6上了吗

在solr6上现出 org.apache.solr.common.SolrException: Error loading class 'org.apache.solr.update.processor.LangDetectLanguageIdentifierUpdateProcessorFactory'

lucene4.7和mmseg4j整合的时候高亮报错

org.apache.lucene.search.highlight.InvalidTokenOffsetsException: Token ikanalyz exceeds length of provided text sized 79
    at org.apache.lucene.search.highlight.Highlighter.getBestTextFragments(Highlighter.java:225)
    at org.apache.lucene.search.highlight.Highlighter.getBestFragments(Highlighter.java:156)
    at org.apache.lucene.search.highlight.Highlighter.getBestFragment(Highlighter.java:102)
    at com.ifweb.web.search.SearchLogic.highlightFormat(SearchLogic.java:265)
    at com.ifweb.web.search.SearchLogic.addHits2List(SearchLogic.java:186)
    at com.ifweb.web.search.SearchLogic.getResult(SearchLogic.java:67)
    at com.ifweb.web.search.SearchLogic.main(SearchLogic.java:233)
Token ikanalyz exceeds length of provided text sized 79

求解答

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.