I have some configurable product with associated simple products.
I have set up simple prd to -> NOT VISIBLE INDIVIDUALLY, but in search results i can see the simple!!!
Its a bug?
How can I resolve this?
Thanks.
Related
I'm using OpenSearchServer to provide search functionality on a web site. I want to crawl all pages on the site for links to follow but I want to exclude some pages from the index. I can't work out how to do this.
Specifically the website includes a shop that has its own product search and I am keeping this search for products and categories. The product pages have URLs like http://www.thesite/p/123 so I don't want to include any page like this in the search results. However some product pages reference background info pages and I want these to be included in the search index.
The problem I have is that the filter has no effect on the results - it doesn't filter out the /p/ and /c/ results. If I change the filter by unticking the negative box I get no results so it seems to be either the contents of the field or the filter criteria that is causing the problem.
I've tried adding a negative filter to the default query called search in the Query > Filter tab on the index with url:"http://www.thesite/p/*"
but it seems that wildcards are not supported for query filters although they are supported for Crawler > Exclusion list filters.
I've tried adding a new field called urlField in Schema > Fields and populating it using an analyzer configured using the Whitespace Tokenizer and a regular expression (http://www.thesite/(c|p)/). When I use the Test button it seems to generate two tokens for my test URL http://www.thesite/p/123:
http://www.thesite/p/
p
I'd hoped to be able to use the first one in a Query > Filter to exclude all the shop results and optionally be able to use the p (for product) or c (for category) if I need to search the product pages sometime in the future.
The urlShop field in the schema is set up as follows:
Indexed: yes
Stored: no (because I don't need the field back, just want to be able to filter on it)
TermVector: No
Analyzer: urlShop
Copy of: url
I've added urlFilter:"http://www.thesite/p/" to Query > Filters with the negative box ticked.
This seems to have no effect on the results when I use the default renderer.
To see whether it affects the returned results I unticked the negative box in the query filter I get no results in the default renderer. This leads me to believe that the urlShop field is not being populated but I'm not sure how to check this directly.
I would like to know whether there is an easier way to do this but if my approach makes sense in the context of OpenSearchServer please can you help me identify what's wrong?
The website is running under IIS and OpenSearchServer will be configured on the same server running in Tomcat.
Finally figured this out...
Go to query and hit edit for your configured query. Then go to the filters tab. Add a query filter like this:
urlExact:"http://myurltoexclude*"
Check the "negative" box. Click add.
Now make sure to click "save in the tiny little button on the right hand side. This is the part I missed. The URLS are still in the DB and crawl, but at least they aren't returned in results.
I'm having a problem with the product list configuration of hybris. I'm more than sure that the answer of this issue is pretty simple, but I can't solve it. So here is the problem.
I have one homepage with one link, assigned to the navigation bar. Whenever the link is pressed I want to get redirected to a product list page where a list of all products of certain category will be displayed. However, I managed to do this, but anytime I change the name of a certain product something happens and the page stops displaying. It throws an error saying it is looking for the old name of the product I've edited.
For example, if the product name is Product1, the page is displayed, then I go and change the name to Product2 and when I press on the link, it throws an error Product with code 'Product1' not found! If I want this to be fixed, I have to create a new Product1 and I'm more than sure that this is not the right way it should work. Is there any synchronization that I need to do after making changes in the catalog or something of this kind? Any help will be appreciated!
I recommend you try two things that may resolve your issue.
When you make a change to a product, you will more than likely do it to the staged catalog. This is your intermediary to ensure information is correct before going live (especially useful if you have a workflow process in place). In order to synchronise this information, you will need to login to the product cockpit (your-server:9000/productcockpit). Find the staged version of the catalog on the left hand menu, right click on it, and select "Sync Selected Versions". This will transfer your information into the Online catalog.
When you arrive on the product listings page and the search results page, the information contained is more than likely indexed by SOLR. In order for any changes to be reflected, you will need to re-index. To do this:
Go to the HMC and login (your-server:9000/hmc/hybris)
In the navigation menu to the left, click on System > Facet Search > Indexer Operation Wizard
A pop-up window will appear. Select the Indexer operation as update and the Solr configuration to the index associated with your website.
Click start and the re-indexing will begin. It shouldn't take too long
If this fails, then you may need a full re-index instead
I hope this will help; I recommend you set up a Cronjob to re-index periodically in future, to keep your website up to date with your product management.
PLP(Product Listing Page) fetches data from Solr. So whenever you are changing anything that is referred in the PLP, you need to update your indexes in Solr.
As you have changed the product name, update the Solr index from hmc.
I'm trying to display a list of retailers on a client site. The filtered list (by State) displays properly, but the 'show all' list doesn't. Items that are missing from the 'show all' list are displaying in the filtered list, so I know it's not an issue with the entries themselves.
I checked the statuses - all seems to be correct, and I've checked that dynamic=no is set.
What am I missing?
EE v2.2.2, Build 20110801
By default, ExpressionEngine set a limit of 100 entries so without a limit parameter set, it is the same as
{exp:channel:entries channel="news" limit="100"}
To get all your entries to display set a high limit like so:
{exp:channel:entries channel="news" limit="999"}
That should have all your entries showing up!
Cheers,
I use limit="1000000" to make sure.
Currently, the site search will search all of the skus of the items marked as being visible in search. This is all well and good.
The problem arises when the customer knows a sku of the individual child item. So, let's say a product comes in both a 20 foot and 25 foot variation. We would put those into a configurable product and have a single product page where a customer could then choose which of those two lengths.
What happens is, a customer invariably knows that the sku of the 20 ft variation is RDB-20, while the other is RDB-25. A search for RDB-25 then, comes back with no results since the simple product is not visible in search - it doesn't realize there is a match.
How do I get the search to search an item with visibility "Not Visible Individually", when it's parent is visible in search?
The desired effect is that, if a child SKU is searched for, the parent should show up in the results.
There really is no good way of doing it without extending the default search, but at that point you might as well look for other options.
Here's a workaround that might be doable depending on how you manage your products and it worked for me until I moved on from the default search.
Rather than altering the search, try adding an attribute to all products and make it hidden concatenating all the skus into this field. The search should find the text attribute and show the configurable.
Its a bit of a workaround but works for me.
This is untested, but I did a bit of perusing in our attributes and I think I found something that might help.
Currently since our child products don't show up in our search, we have the parent populate with the children product's attributes.
However, things like brand, taxable amount, description, populate for every child product while our SKU does not.
The only difference I can see between the two attributes is under manage attributes -> click on attribute -> and then under properties go to frontend properties and select
Use In Search Results Layered Navigation: YES
Used in Product Listing: YES
Use In Layered Navigation: Filterable (with results)
I'm not sure which of these do what, but in the population of the fulltext search data table, somewhere it is being told to populate for the children and I believe that the admin panel is where.
I hope this helps!
The advanced search with all the default product attributes are working fine and gives the desired result except for the price criteria where even if i fill the values with the correct range and price that is present in the product list, the message "No items were found using the following search criteria" is displayed.I tried printing the query that is in the model class within function getProductCollection(), and it seemed ok.Also in the query I checked if all the required attributes are selected and that also seemed fine..Can someone please give me some suggestions to solve this problem?
Not sure if it fixes this, but a lot of similar things are fixed by going to system -> cache management
and then running
"rebuild layered navigation indexes"
and
"rebuild search index"
Whilst you are there ... if you have flat catalog enabled, that could also cause a problem, so you should rebuild that as well!