• Resolved wpbuild

    (@wpbuild)


    Ищу – День ВДВ

    Результат: все что угодно кроме нужного.

    v1.73.245

    [
    {
    "where": " AND ( \n ( wp_postmeta.meta_key = '_elementor_template_type' AND wp_postmeta.meta_value = 'floating-buttons' )\n) AND wp_posts.post_type = 'e-floating-buttons' AND ((wp_posts.post_status <> 'trash' AND wp_posts.post_status <> 'auto-draft'))",
    "groupby": "wp_posts.ID",
    "join": " INNER JOIN wp_postmeta ON ( wp_posts.ID = wp_postmeta.post_id )",
    "orderby": "wp_posts.post_date DESC",
    "distinct": "",
    "fields": "wp_posts.*",
    "limits": "LIMIT 0, 1"
    },
    {
    "where": " and (((1))) and (wpftsi_t.relev > 0) AND wp_posts.post_type = 'post' AND ((wp_posts.post_status = 'publish'))",
    "groupby": "",
    "join": "\r\n\t\t\t\tinner join ( \r\n\t\t\t\t\tselect \r\n\t\t\t\t\t\tfi.tid, \r\n\t\t\t\t\t\tt_end.relev \r\n\t\t\t\t\tfrom wpftsi_index fi \r\n\t\t\t\t\tstraight_join ( \t\t\t\t\r\n\t\t\t\tSELECT \r\n\t\t\t\t\ttbase.index_id,\r\n\t\t\t\t\tsum(\r\n\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\tif(tbase.n < 1,0,trel.pow + (trel.res / LOG(tbase.n + 1)) / 627.548283905208) \r\n\t\t\t\t\t\t+ if(isnull(t3.id) or (t3.n < 1),0, (\r\n\t\t\t\t\t\t\t\t\tt3.pow + (t3.res / LOG(t3.n + 1)) / 627.548283905208\r\n\t\t\t\t\t\t\t\t) * (case tbase.token when \"post_title\" then 0.9 when \"post_content\" then 0.5 when \"post_excerpt\" then 0.4 else 1 end) / (5))\r\n\t\t\t\t\t\t) * (case tbase.token when \"post_title\" then 0.9 when \"post_content\" then 0.5 when \"post_excerpt\" then 0.4 else 1 end) / (5)\r\n\t\t\t\t\t) relev\r\n\t\t\tFROM \r\n\t\t\t\twpftsi_tp trel\r\n\t\t\tSTRAIGHT_JOIN \r\n\t\t\t\twpftsi_docs tbase\r\n\t\t\t\tON (trel.did = tbase.id)\r\n\t\t\tSTRAIGHT_JOIN \r\n\t\t\t\twpftsi_index tindex\r\n\t\t\t\tON tindex.id = tbase.index_id\r\n\t\t\tLEFT JOIN (\r\n\t\t\t\tSELECT \r\n\t\t\t\t\tdt.p_tid,\r\n\t\t\t\t\tdt.p_tsrc,\r\n\t\t\t\t\tdt.p_token,\r\n\t\t\t\t\tt2.id,\r\n\t\t\t\t\tt2.token AS token2,\r\n\t\t\t\t\tt2.n AS n2,\r\n\t\t\t\t\tt2.index_id AS index_id2,\r\n\t\t\t\t\tt2.pow,\r\n\t\t\t\t\tt2.res,\r\n\t\t\t\t\tt2.n\r\n\t\t\t\tFROM \r\n\t\t\t\t\twpftsi_doctree AS dt\r\n\t\t\t\tSTRAIGHT_JOIN (\r\n\t\t\t\t\tSELECT \r\n\t\t\t\t\t\ttbase.id,\r\n\t\t\t\t\t\ttbase.n,\r\n\t\t\t\t\t\ttrel.did,\r\n\t\t\t\t\t\ttrel.res,\r\n\t\t\t\t\t\ttrel.pow,\r\n\t\t\t\t\t\ttindex.tid,\r\n\t\t\t\t\t\ttindex.tsrc,\r\n\t\t\t\t\t\ttindex.id AS index_id,\r\n\t\t\t\t\t\ttbase.token\r\n\t\t\t\t\tFROM \r\n\t\t\t\t\t\twpftsi_tp trel\r\n\t\t\t\t\tSTRAIGHT_JOIN \r\n\t\t\t\t\t\twpftsi_docs AS tbase\r\n\t\t\t\t\t\tON (trel.did = tbase.id)\r\n\t\t\t\t\tSTRAIGHT_JOIN \r\n\t\t\t\t\t\twpftsi_index AS tindex\r\n\t\t\t\t\t\tON tindex.id = tbase.index_id\r\n\t\t\t\t\t\twhere 1 and (trel.q_id = \"6351\")\r\n\t\t\t\t) AS t2 \r\n\t\t\t\tON t2.tid = dt.c_tid AND t2.tsrc = dt.c_tsrc AND t2.token = dt.c_token\r\n\t\t\t) AS t3 \r\n\t\t\tON tindex.tid = t3.p_tid AND tindex.tsrc = t3.p_tsrc AND tbase.token = t3.p_token\r\n\t\t\twhere 1 and (trel.q_id = \"6351\")\r\n\t\t\t\tgroup by tbase.index_id\r\n\t\t\t\tORDER BY NULL\r\n\t\t\t) t_end \r\n\t\t\ton t_end.index_id = fi.id \r\n\t\torder by null\r\n\t) wpftsi_t \r\n\t\ton wpftsi_t.tid = wp_posts.ID \r\n\t\t\t\t ",
    "orderby": "wp_posts.post_date DESC",
    "distinct": "",
    "fields": "wp_posts.ID, wpftsi_t.relev ",
    "limits": "LIMIT 0, 25"
    }
    ]

    • This topic was modified 7 months, 3 weeks ago by wpbuild.
Viewing 4 replies - 16 through 19 (of 19 total)
  • Thread Starter wpbuild

    (@wpbuild)

    Вот еще что вспомнилось, в свое время единственной боле менее нормальной возможностью полнотекстового поиска для wp было использование sphinx search. https://github.com/Ivinco/WordPress-Sphinx-Search-plugin

    И насколько я помню, результаты поиска там были вполне адекватными. Собственно я к тому, что там был режим сортировки Релевантность+Новизна, (Sort search results by Relevance, Freshness or in both modes). Может имеет смысл заглянуть туда и посмотреть как там это было реализовано?

    Plugin Author Epsiloncool

    (@epsiloncool)

    @wpbuild

    Исходников у нового Sphinx нет, в старом можно было бы поковыряться. Хотя нам за ними не угнаться, ибо С++ и PHP всё-таки очень разные технологии по скорости и назначению. Поэтому используем собственные решения, которые может вывезти в одном-двух запросах MySQL.

    Plugin Author Epsiloncool

    (@epsiloncool)

    @wpbuild

    Дайте знать – какие мысли у вас есть насчёт результатов тестирования. На текущий момент я вижу, что самая свежая статья показывается на первом месте, хотя дальше идёт статья за 2020 год и потом снова 2023… Так происходит потому, что статья за 2020 изначально кажется алгоритму более релевантной, чем следующая статья за 2023 и даже небольшое уменьшение релевантности от срока давности не мешает ему показать статью выше.

    Это можно попробовать скорректировать, если сделать первую большую отсечку через 365 дней (скажем, сразу на 50% уменьшить статьи давностью год и более) и после этого уменьшать релевантность на 10-20% в год (потому что там по сути не так важен уже порядок статей).

    Plugin Author Epsiloncool

    (@epsiloncool)

    Хорошо, я думаю у вас всё нормально и я могу закрыть тему.

Viewing 4 replies - 16 through 19 (of 19 total)
  • The topic ‘Не работает Логика поиска по-умолчанию AND’ is closed to new replies.