We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
大神好,我在用ik分词的时候遇到了一个问题。 背景:我的ES版本是1.7.2,ik版本是1.4.1。在elasticsearch.yml里,我采用的是1.4.1下三种分词器均注册的方式。然后我将mapping里一个nested内容字段的anlayzer属性设置为了ik_max_word,如下:
"contentParagraphs": { "properties": {"startPage": {"type": "integer"}, "paragraphContent": {"include_in_all": false, "analyzer": "ik_max_word", "type": "string"}} }
问题:
当我不指定查询分词器、用matchphrase在这个内容字段搜比如“非公开”时,只能匹配出少量结果(querystring的精确方式和这个得到的的结果差不多),而当我指定查询分词器为ik_smart时,却能够搜索出更多结果,两者差两个数量级。如果我用term搜索,则能够搜出和ik_smart接近的结果。"非公开"在ik_smart下不会被拆分,是一个独立的词。
当我搜“发行费用概算”时,仍然采用matchphrase方法,这时如果指定分词器为ik_smart,搜不出任何结果,而如果不指定,则能够正常搜出结果。我观察“发行费用概算”在ik_smart下会被分为"发行费用"和"概算"。分别搜索"发行费用"和"概算"都没有问题。
以上,麻烦大神甄别一下问题出现在哪里,万谢!
The text was updated successfully, but these errors were encountered:
to 1 and 2. matchphrase也会分词,不过会额外进行词的位置的判断,slop值可以影响,如果目标文档短语的顺序对不上也会查不出来的.
Sorry, something went wrong.
好的谢谢大神。我看文档说matchphrase用的是类似span方法。这个问题到后来我也没搞清楚啥原因,应该不是slop,因为都是紧密挨着的而且顺序一致,不过目前暂时用Term和Matchphrase搭配的方式解决了。
参见:https://www.elastic.co/guide/en/elasticsearch/reference/5.1/query-dsl-match-query-phrase.html,slop 默认是0 索引和查询如果都用一个 analyzer,应该不会有这个问题,两种分词的 position 不一样,max_word 可能有重叠,你调大 slop 应该也可以解决
No branches or pull requests
大神好,我在用ik分词的时候遇到了一个问题。
背景:我的ES版本是1.7.2,ik版本是1.4.1。在elasticsearch.yml里,我采用的是1.4.1下三种分词器均注册的方式。然后我将mapping里一个nested内容字段的anlayzer属性设置为了ik_max_word,如下:
问题:
当我不指定查询分词器、用matchphrase在这个内容字段搜比如“非公开”时,只能匹配出少量结果(querystring的精确方式和这个得到的的结果差不多),而当我指定查询分词器为ik_smart时,却能够搜索出更多结果,两者差两个数量级。如果我用term搜索,则能够搜出和ik_smart接近的结果。"非公开"在ik_smart下不会被拆分,是一个独立的词。
当我搜“发行费用概算”时,仍然采用matchphrase方法,这时如果指定分词器为ik_smart,搜不出任何结果,而如果不指定,则能够正常搜出结果。我观察“发行费用概算”在ik_smart下会被分为"发行费用"和"概算"。分别搜索"发行费用"和"概算"都没有问题。
以上,麻烦大神甄别一下问题出现在哪里,万谢!
The text was updated successfully, but these errors were encountered: