Search by name resulting in all servers

When running a knife ssh command, I used “and” not “AND” which resulted in ALL servers matching. This was a nightmare, I immediately hit ctrl-c to stop. This left things in a kind stranded state, which was no problem, I was able to clean that up pretty easily. The problem I have now, is that search results based on name are no longer working. I used to just use something like “name:edge*” but now, the results from that query are all my servers. It appears something is corrupt in the search, but I’m not sure how to clear this out. I confirmed this is server side not client side, but having a colleague try the same command, and he gets the same result. Ideas? The sort of seems like the opposite of most people, were search results are 0 entries, I get all entries! TYIA.

I assume you’re using an internal chef server, probably the solr index is corrupted.

knife index rebuild should solve your problem. If not server side a chef-server-ctl reindex should do. (But that’s the same API under the hood, so the knife one should be enough)

I’m really confused now! I did a reindex, no change. Just to make sure, I then did a complete wipe out of the index directory and then rebuild, and it comes back! So this appears to not be an index problem. I then checked in QA, where I didn’t ctrl-c, and I get the same thing! I think that is just not related. What gets even more strange, it is specifically two letters. If I search for name:e* or name:d* I get bad results. If I search for node names starting with any other letter, it works perfectly. Searching for everything else, like role, etc works fine. Also, if I search for more characters like name:edge-0* it comes back with 01, 02, etc. Do the letters e and d have special meaning here? I know this was working for us, and we have not upgraded or anything, so I’m super baffled now. Anyone have any thoughts?