-
-
Notifications
You must be signed in to change notification settings - Fork 123
New issue
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
Raw lucene query change after recycling app pool #181
Comments
That's a pretty strange issue! Sounds like something to do with Thread culture or something along those lines. Are you able to provide me with the full code that creates this query ... or better yet a slimmed down version of a way that i can try to replicate ? |
Very strange indeed! 🦒🐰 Sure, here is they entire controller:
This is more or less a copy from Vendr demo store with a few tweaks. I think you can reproduce the issue demo store, which you can clone from here: |
@Shazwazza I could reproduce the issue in Vendr demostore. Steps to reproduce
|
So is this an issue with the data that is stored in the index or the query that is being produced? There are of course 2 variations of this query:
and
That category string is coming from the What is the expectation here? which query is correct? And where is the data coming from to populate the Is the data going into the index in your |
I am not sure if it is an issue with the stored data in the index. But I would expect the raw lucene query to be identical before and after recycle. Does a raw lucene query normally work using culture specific characters like Danish
When rebuilding the index, it does however seem both versions work, but after recycle only the first version with Yes, but the value of The data is coming from the querystring In this case just to test when |
Yes exactly, it's not Examine changing this value from ø => o, this is the value that is just being passed to it via the query string. So I'm pretty sure the problem starts with how that is happening. It might not be an examine issue at all? |
I don't understand how the querystring value should change after doing a recycle of app pool. Also it doesn't explain why it works again after rebuilding the index. So I am pretty sure it is either an issue in the Examine (lucene) query or how the data is indexed. Maybe there's of difference between rebuilding the index via Examine dashboard and how Examine rebuild the index in background on app pool recycle? Off topic: On another Umbraco Cloud project we are using querystring to do a search using Clerk.io, but I haven't noticed this should change a term containing I can try with a static variable instead, but I don't think that would make a difference from my previous observations. |
I have specific tried with |
@Shazwazza did you had a chance to reproduce this in e.g. Vendr demo store following these steps? |
no not yet |
@bjarnef I had similar issue lately, I find out that is caused by that how Lucene will load vectors to memory, apparently vectors loaded from file are different than that indexed to memory. I resolved issue by replacing Standard Analyser with simple analyser, what is not perfect but at least do a job :) |
@bjarnef I actually debug that further, and I was wrong! I didnt resolve that by change of analyser, but my code contains other fixes for relevance. Issue is caused by how norms are omitted internally in lucene. code which resolve issue for me is :
|
On a project on Umbraco Cloud we have a filter dropdown to filter a product list based on sizes. Some of these values contains Danish characters
æ
,ø
andå
.However we have notices that this sometimes didn't work after a deploy or rebuilding ModelsBuilder. It seems to come down to when recycling app pool as we can reproduce the issue after making a change in web.config
The project is using Umbraco v8.6.4 and Examine v1.0.5
Here is the result before recycle. Note the raw lucene query is:
After application is recycled and refreshing page where no results are returned:
When rebuilding external index from Examine dashboard it works again and generate the first lucene query.
For now we have implemented this temporary hack:
Strange enough when there are no results, but searching for "Nyfødt/50 cm" in Examine dashboard it seems to find a result and the product list returns a result in frontend without I clicking the "Rebuild index" button. Not sure if the a search is triggering a reindex or the found results or full reindex?
We have also seems similar issue when searching using
.NativeQuery()
method and usingæ
,ø
andå
in search term, but not sure if it is the same underlying issue.The text was updated successfully, but these errors were encountered: