我正在尝试使用带有突出显示的轮胎(ElasticSearch),但我遇到了一些不一致的问题,我可能做错了什么。我遇到的问题是它并不总是突出我正在寻找的术语的所有格。这是设置:
索引:
indexes :thesis, type: 'string', boost: 2.0, analyzer: 'snowball', as: 'index_clean_thesis'
# the 'index_clean_thesis' removes some formatting characters as \t, \r, \n.
询问:
query { match :thesis, params[:text] }
我正在查询“谷歌”这个词。
现在,我的 ElasticSearch 索引中有两个测试条目(一个包含我想要索引的条目之一的合法文本,而另一个包含一些我为测试目的而编造的文本)。在大文本中,我只得到了大约 14 个实际的“Google's”实例。在测试文本上,我得到了所有这些。
这是大文本中的一个实例,它没有突出显示“Google's”
Imminent changes to Google’s policies could dramatically lower the
这是大文本中唯一突出显示“Google's”的实例
I want to ask about Google's pending Toolbar change.
这是测试文本,其中突出显示按预期工作
Google's bla is blabla APPLE google is GOOGLE+ blabla facebook bla is yes yes no Google's ononononono tyeyeeyeyye ete pw iepq kw iqpe iwpq google pqiwop qoweo qpwoe qdpw adpw google's ksowoskwo google+
我还通过ElasticSearch 上的直接curl查询尝试了查询,但我得到了相同的行为。这是我尝试的curl查询:
curl -XGET http://localhost:9200/postings/_search -d '{
"query": {
"match": {
"thesis": "Google"
}
},
"highlight": {
"fields": {
"thesis": {
"fragment_size": 40,
"number_of_fragments": 300
}
}
}
}'
请让我知道我做错了什么导致这种奇怪的行为。