Phrase Suggester: index blocks results from other used indices


#1

Hi, everyone,

I got a mysterium by using a phrase suggest on multiple indices.

I try to explain what is happen.

This suggest code works fine for 4 different indices with 3 different types.

'suggest' => [
            'did-you-mean' => [
                'text' => $query,
                'phrase' => [
                    'max_errors' => 4,
                    'size' => 1,
                    'analyzer' => 'analyzer_did_you_mean',
                    'confidence' => 1.5,
                    'direct_generator' => [
                        [
                            'field' => 'did_you_mean',
                            'suggest_mode' => 'missing'
                        ]
                    ],
                    'field' => 'did_you_mean'
                ]
            ]
        ],

I added a 5th index, which contains a positive list of words (like brands or locations).
After i added this index, the suggester returning only results of this new index. it ignores the other 4.

I tried the following:

  • give all indizes the same structure
  • give all indizes the same type
  • put the data direct in the did_you_mean instead copy_to: 'did_you_mean'
  • used different ids
  • used different suggest_mode

It is running on ES 2.4.
I cant find the resaon for this behavior, maybe someone has an idea.
If further information are needed, I will try to deliver.

Thanks.


(Alexander Reelsen) #2

Hey,

do you somehow have a different mapping configured for this one? Different analyzer setups? Is this particular index always winning against the others? If so, there might just be a tiny configuration glitch.

If not, we would need a fully reproducible example to see what is happening.

--Alex


#3

thx for your ideas but all indices have the same mapping and analyzer configuration.

We solved the problem by using the paramter: 'real_word_error_likelihood' => 0.001,
its not logical but it works,


#4

The Problem is still relevant.

an example, where the 'real_word_error_likelihood' makes no difference anymore:

index_webpage contains words like : "hotel" and "mallorca"
index_didyoumean contains words like: "bosch", "senseo"

with both indices it cant find a "suggest" for "mallorca hote" and no results at all.

If I use only the webpage index it returns "mallorca hotel" with results.

The Docu is not so clear how the suggestion over serveral indices should work.
Has anybody an idea? If i could undstand the technic behind it would be easier to find a solution.


(system) #5