Quick question about the above. What about auto-closed topics with a solution? Logically, one wants those to show up because they have a solution, but if I got it right, then right now those are automatically less prominent.
Is this something we can toggle with a site setting? In some cases a Topic may be Closed and Solved. Conversely some users may even expect that to be higher in the results.
Iām very happy to see search getting some attention. Being able to search specifically by category is already a big plus for our use case.
The one thing I would love to see a bit of improvement on is common spelling mistakes. Some search engines have spoiled me to the point that I will lazily slap the keys until a mixture of letters that only vaguely resemble to original word are in the search bar . I donāt expect that to be matched, but improvements in that area would be a great step forward.
Hot take! I think it would be better to keep this consistent (that is, no per-site option), and:
Increase priority of closed posts which are solved (to greater than open posts).
Add the option of a timer (ideally, per category and/or per tag) to automatically archive closed posts.
Within archived posts, prioritize those with solutions ā but not so much that they show over non-archived posts.
Disclaimer: why yes, I do want that auto-archive feature for my own site! But I think it makes sense generally. Anything thatās answered but probably irrelevant should be swept away. And if you donāt want that (your solved questions are evergreen), donāt enable the archiver.
Why, because it makes dev-side easier? Or because it makes usersā life easier when they jump between Discourses? Something else?
First reason isnāt reason at all ā as long workload is humane and a task is possible in this reality. Second one is good reason for MS or Apple, who doesnāt want struggle too much with customers, but otherwise ā as an admin and content creator I want serve my users, not keep things similar than here, there or elsewhere
Both. And because it reduces admin complexity. Instead of a bunch more options (and opportunity to not even realize thereās a setting to do what you want), step back and find a general pattern so the desired pattern just works in most cases.
But. Could we use another and yet familiar solution: hidden settings?
I see here two different strategies now:
should admins have free hands to tune up important parts, like search results, because needs of community are different and isnāt depending of platform (that is coding/dev question)
should admins be treated as another users and keep things tidy and clean UX-wise, and let CDCK decide what, where and why
Looking at support both ways have pros and cons But still ā the first direction is kind of more part of open source world, when the latter is Appleās way.
More options generates more questions and issues made by not-so-skilled admins like me. More options can give better results for users and visitors. So?
For me the question is very easy: I want to get as powerful search as possible, and if closing a topic will decrease its ranking in search results I donāt close topics anymore or very rarely. Easy choise, but then I have to act because of limitations of software, not because of needs of community.
So ā strategies are different thing than tactics
Using multipliers seems like a generally-good approach, but I think is hard to express what I was suggesting above.
closed not solved < open not solved < open solved < closed solved
Closed should be a priority increase for solved posts but a decrease for unsolved ones.
Closed posts with no solution are nearly worthless ā someone else had this problem, but thereās no answer for it here, and you canāt provide one. Closed post with solutions are, on the other hand, gold. Theyāre not merely solved, but definitively so.
Yes, basically, although the order of archived posts probably doesnāt matter:
Archived posts with solutions are likely-irrelevant but may be historically interesting. Archived posts without solutions are basically the same ā if youāre looking in the archive, itās probably for history, so the solved state is information but if it matters which one it is you should include that explicitly in your query.
Do you use category weightings at all yourself? If so, do you have feelings about how whether that weighting should override these state-based weights as they are now or be multiplicative?
I think the switch for look into specific category are enough and could be good to discard that weight when searching (because people are searching solutions, not categories or suggested topics/categories).
My two cents, Iām fully agree with what you are doing here
Yes, definitely use them. Weāve got some āworkflowā categories which should basically never come up unless asked for, and others that are announcements and news that are more important.
I am making this up right now so I reserve my right to be flaky in my opinion in the future, but my feeling is that I want the categories weights to override all of the topic-status weights, except archived. Iām thinking of the news case here. Those should come up high in results while theyāre fresh, but not at all after some amount of time. And archiving posts could be each siteās way of specifying what āsome amount of timeā means there.[1]
Alternately, and maybe more simple: just have category weights overrule, and then introduce a per-category option to prefer fresh posts, and if thatās checked have a multiplier that drops over time (from 2x to 0.5x, say).
Iād disagree here. A topic might have a good answer, but the OP didnāt bother to mark it as solution/solutions werenāt available if itās an older topic, etc.
An open topic has the pro that you can bump it, but I wouldnāt put too much weight on that. Iād rather prefer to see the more relevant content based on keywords.
Regarding archived I agree - to me this is content that isnāt relevant any more and can have less weight.
Why would such a topic be closed? (And, preemptively: āBecause the site is set to close topics after N daysā is an answer to how the topic was closed, not why.)
I think to keep this change manageable phase zero is the trivial:
Add site setting prioritize_solved_topics default true
When set to true, give solved 1.1 unconditionally.
It does not solve all of the quirks here, but it would give us reasonable amount of progress quickly.
Trouble is from an extensibility perspective this is not an easy change at all.
There is no āsolvedā column on the topics table, what we are stuck doing here is injecting some sort of join from solved into topic custom fieldsā¦ this mean this SQL needs to be transformed in a rather elaborate way:
Either
We need to inject a LEFT JOIN in the solved plugin LEFT JOIN topic_custom_fields ts where name = 'accepted_answer_id' and value IS NOT NULL AND and topic_id = topics.id
We need to transform this conditions CASE statement, which probably means making the whole CASE statement composable using a plugin.
Alternatively we may get away with something like CASE EXISTS(...) THEN 1.1 which eliminates needing a left join but comes with its own risks.
Will have a think about this problem, the huge challenge here is figuring out how not to create a giant mess by adding this support given ācoreā knows nothing about solved topics.
Thatās darn-near every one for me! I can almost never figure out the spec until Iāve written the code that Iām pretty sure works. This is (partly) because Iām usually writing code for a spec that I donāt understand. A couple of times Iāve been able to write the specs first like a grown-up, but itās pretty rare.
Itās good to hear that it at least sometimes happens to you too.