Elasticsearch不返回单/复数匹配

我正在使用Elasticsearch的php库对我的网站进行索引和查找文档。这是用于创建索引的代码:

curl -XPUT 'http://localhost:9200/test/' -d '

{

"index": {

"numberOfShards": 1,

"numberOfReplicas": 1

}

}'

然后,我使用curl

XPUT将文档添加到索引,并使用XGET查询索引。除了返回结果时跨索引的单数和复数查询词不匹配之外,这种方法效果很好。例如,当我搜索“讨论”时,不返回“讨论”的匹配项,反之亦然。为什么会这样呢?我认为这是默认情况下在Elasticsearch中处理的。为了匹配单数/复数形式,有什么要明确提及的吗?

回答:

不知何故,滚雪球对我不起作用…正在收到像我在@imotov的答案的评论中提到的错误。我使用了搬运工杆,它非常适合我。这是我使用的配置:

curl -XPUT localhost:9200/index_name -d '

{

"settings" : {

"analysis" : {

"analyzer" : {

"stem" : {

"tokenizer" : "standard",

"filter" : ["standard", "lowercase", "stop", "porter_stem"]

}

}

}

},

"mappings" : {

"index_type_1" : {

"dynamic" : true,

"properties" : {

"field1" : {

"type" : "string",

"analyzer" : "stem"

},

"field2" : {

"type" : "string",

"analyzer" : "stem"

}

}

}

}

}'

以上是 Elasticsearch不返回单/复数匹配 的全部内容, 来源链接: utcz.com/qa/411533.html

回到顶部