В индексе, который я создаю, я заинтересован в выполнении запроса, а затем (используя грани), возвращающего черепицу этого запроса. Вот анализатор я использую по тексту:Использование черепицы и стоп-слов с помощью Elasticsearch и Lucene 4.4
{
"settings": {
"analysis": {
"analyzer": {
"shingleAnalyzer": {
"tokenizer": "standard",
"filter": [
"standard",
"lowercase",
"custom_stop",
"custom_shingle",
"custom_stemmer"
]
}
},
"filter": {
"custom_stemmer" : {
"type": "stemmer",
"name": "english"
},
"custom_stop": {
"type": "stop",
"stopwords": "_english_"
},
"custom_shingle": {
"type": "shingle",
"min_shingle_size": "2",
"max_shingle_size": "3"
}
}
}
}
}
Основной проблемой является то, что, с Lucene 4.4, остановить фильтры больше не поддерживают параметр enable_position_increments
для устранения гальки, которые содержат стоп-слова. Вместо этого, я хотел бы получить результаты, как ..
«красные и желтые»
"terms": [
{
"term": "red",
"count": 43
},
{
"term": "red _",
"count": 43
},
{
"term": "red _ yellow",
"count": 43
},
{
"term": "_ yellow",
"count": 42
},
{
"term": "yellow",
"count": 42
}
]
Естественно, это ЗНАЧИТЕЛЬНО перекосов количества гальки вернувшейся. Есть ли способ post-Lucene 4.4 для управления этим без последующей обработки результатов?
Вы нашли решение этой проблемы? – paweloque
дублированный вопрос: http://stackoverflow.com/questions/22609100/elasticsearch-shingles-with-stop-words-elimination – paweloque