>source

나는 실행합니다

Post.search("daniel")

60 개 이상의 결과를 얻습니다

Post.where(archive: true)

60 개 이상의 결과를 얻습니다

Post.search("daniel", where: { archive: true }
Here is the full searchkick query.

0 결과를 얻습니다

{
  "query": {
    "bool": {
      "must": {
        "bool": {
          "should": [
            {
              "dis_max": {
                "queries": [
                  {
                    "multi_match": {
                      "query": "daniel",
                      "boost": 10,
                      "operator": "and",
                      "analyzer": "searchkick_search",
                      "fields": [
                        "*.analyzed"
                      ],
                      "type": "best_fields"
                    }
                  },
                  {
                    "multi_match": {
                      "query": "daniel",
                      "boost": 10,
                      "operator": "and",
                      "analyzer": "searchkick_search2",
                      "fields": [
                        "*.analyzed"
                      ],
                      "type": "best_fields"
                    }
                  },
                  {
                    "multi_match": {
                      "query": "daniel",
                      "boost": 1,
                      "operator": "and",
                      "analyzer": "searchkick_search",
                      "fuzziness": 1,
                      "prefix_length": 0,
                      "max_expansions": 3,
                      "fuzzy_transpositions": true,
                      "fields": [
                        "*.analyzed"
                      ],
                      "type": "best_fields"
                    }
                  },
                  {
                    "multi_match": {
                      "query": "daniel",
                      "boost": 1,
                      "operator": "and",
                      "analyzer": "searchkick_search2",
                      "fuzziness": 1,
                      "prefix_length": 0,
                      "max_expansions": 3,
                      "fuzzy_transpositions": true,
                      "fields": [
                        "*.analyzed"
                      ],
                      "type": "best_fields"
                    }
                  }
                ]
              }
            }
          ]
        }
      },
      "filter": [
        {
          "term": {
            "archive": {
              "value": false
            }
...

나는 searchkick 보석 문서를 보았고 나는 그들이 열거 된 것과 정확히 다음을 따른다. 일반 검색은 잘 작동하며 WHERE 절을 추가 할 때만 0 개의 게시물 만 반환합니다.

WHERE 절이 없으면 WHERE 절이 추가 될 때 "DANIEL"이있는 모든 게시물이 표시됩니다.

여기서 뭘 잘못하고 있니? 더 많은 정보가 필요합니까?

결과의 맨 아래에 "필터": [{ "용어": { "아카이브": { "값": false}, 검색이 아카이브를위한 것이 었음을 암시합니다. false는 true가 아닙니다. 이것은 이것이 잘못된 로그입니까? 아니면 단서입니다.

melcher2021-09-09 15:01:07

그리고 이것은 어리석은 질문 일 수 있지만 Daniel 및 Archive에 대한 결과가 있어야합니다. True. 각각의 리턴 결과는 별도로 반드시 결과가 반드시 사용되지 않을 것이라는 것을 의미하지는 않아도됩니다.

melcher2021-09-09 15:01:07

게시물 ( "Title Ilike? Archive= False", "% # {PARAS [: 용어]} %")는 잘 작동하지만 검색은 여전히 ​​작동하지 않습니다.

gustavoanalytics2021-09-09 15:01:07

게시물 모델에 SearchKick 설정을 추가 할 수 있습니까?

melcher2021-09-08 15:42:46
  • 이전 typescript : JEST를 사용하여 여러 Axios를 모의하는 방법은 무엇입니까?
  • 다음 swiftui : StackNavigationViewStyle이있는 EditButton 버그